zoukankan      html  css  js  c++  java
  • Redis入门教程

    Redis入门教程

    入门教程,仅供菜鸟。

    原文链接:http://lgone.com/html/y2010/776.html

    本文包括如下内容:

    1. Redis简介
    2. Redis的性能
    3. 安装Redis、Redis启动参数介绍
    4. 应用实例:利用Redis构建简单的微博系统(官方例子链接)

    注:入门教程,仅供菜鸟

    1.Redis简介

    Redis是一个key-value存储系统。和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。

    2.Redis的性能

    下面是官方的bench-mark数据:

    • The test was done with 50 simultaneous clients performing 100000 requests.
    • The value SET and GET is a 256 bytes string.
    • The Linux box is running Linux 2.6, it’s Xeon X3320 2.5Ghz.
    • Text executed using the loopback interface (127.0.0.1).

    Results: about 110000 SETs per second, about 81000 GETs per second.


    更多详细数据请见官方bench-mark page(http://code.google.com/p/redis/wiki/Benchmarks

    3.安装Redis、Redis启动参数介绍

    3.1.安装Redis

    Redis的代码遵循ANSI-C编写,可以在所有POSIX系统(如Linux, *BSD, Mac OS X, Solaris等)上安装运行。而且Redis并不依赖任何非标准库,也没有编译参数必需添加。编译安装Redis,我们唯一需要的就是make,下面是安装过程,使用的是目前的稳定版本1.2.6版,2.0版本目前尚处于开发状态。

    3.1.1.获取源码、解压、进入源码目录:

    wget http://redis.googlecode.com/files/redis-1.2.6.tar.gz
    tar xzf redis-1.2.6.tar.gz
    cd redis-1.2.6

    3.1.2.编译生成可执行文件:

    由于makefile文件已经写好,我们只需要直接在源码目录执行make命令进行编译即可:

    make

    make命令执行完成后,会在当前目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用如下:

    • redis-server:Redis服务器的daemon启动程序
    • redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
    • redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
    • redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况

    3.1.3.建立Redis目录(非必须)

    这个过程不是必须的,只是为了将Redis相关的资源统一管理而进行的操作。

    执行以下命令建立相关目录并拷贝相关文件至目录中:

    sudo -s
    mkdir -p /usr/local/redis/bin
    mkdir -p /usr/local/redis/etc
    mkdir -p /usr/local/redis/var
    cp redis-server redis-cli redis-benchmark redis-stat /usr/local/redis/bin/
    cp redis.conf /usr/local/redis/etc/

    3.2.Redis配置参数详解

    在我们成功安装Redis后,我们直接执行redis-server即可运行Redis,此时它是按照默认配置来运行的(默认配置甚至不是后台运行)。我们希望Redis按我们的要求运行,则我们需要修改配置文件,Redis的配置文件就是我们上面第二个cp操作的redis.conf文件,目前它被我们拷贝到了/usr/local/redis/etc/目录下。修改它就可以配置我们的server了。如何修改?下面是redis.conf的主要配置参数的意义:

    • daemonize:是否以后台daemon方式运行
    • pidfile:pid文件位置
    • port:监听的端口号
    • timeout:请求超时时间
    • loglevel:log信息级别
    • logfile:log文件位置
    • databases:开启数据库的数量
    • save * *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
    • rdbcompression:是否使用压缩
    • dbfilename:数据快照文件名(只是文件名,不包括目录)
    • dir:数据快照的保存目录(这个是目录)
    • appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
    • appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)

    下面是一个略做修改后的配置文件内容:

    daemonize yes
    pidfile /usr/local/redis/var/redis.pid
    port 6379
    timeout 300
    loglevel debug
    logfile /usr/local/redis/var/redis.log
    databases 16
    save 900 1
    save 300 10
    save 60 10000
    rdbcompression yes
    dbfilename dump.rdb
    dir /usr/local/redis/var/
    appendonly no
    appendfsync always
    glueoutputbuf yes
    shareobjects no
    shareobjectspoolsize 1024

    将上面内容写为redis.conf并保存到/usr/local/redis/etc/目录下

    然后在命令行执行:

    /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

    即可在后台启动redis服务,这时你通过

    telnet 127.0.0.1 6379

    即可连接到你的redis服务。

    4.利用Redis构建简单的微博系统

    具体例子见官方文档:
    A case study: Design and implementation of a simple Twitter clone using only the Redis key-value store as database and PHP

  • 相关阅读:
    解决取消input标签中disabled属性
    【转】jQuery源码分析-13 CSS操作-CSS-类样式-addClass+removeClass+toggleClass+hasClass
    Bigpipe学习【转】
    用户请求的生命周期[传统模式与BigPipe]
    gcc扩展语法一:在表达式中的语句和声明
    分享一个关于pthread线程栈在mm_struct里面的分布问题
    neo4j 安装步骤 转自:http://blog.csdn.net/luoluowushengmimi/article/details/19987995
    sudoers文件解析 转自:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=1971013
    匿名union
    VMware虚拟机修改BIOS启动项
  • 原文地址:https://www.cnblogs.com/balaamwe/p/2324730.html
Copyright © 2011-2022 走看看