热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Redis安装和使用指南

From:http:mwt198668.blog.163.comblogstatic48803692201132141755962Redis安装指南作者:Red_A

From: http://mwt198668.blog.163.com/blog/static/48803692201132141755962/

Redis安装指南

作者:Red_Ant

时间:2011-04-20

简  介


     redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步Redis一个分布式缓存


Redis官方主页:http://www.redis.io/

百 度     百 科:http://baike.baidu.com/view/4595959.htm#sub4595959

Redis中文简介:http://yuanmuqiuyu2000.blog.sohu.com/162703316.html

 

安装环境:

版本:Redis-2.2.4

操作系统:CentOS 5.5 X64

账户:root

一、安装准备:

1.请先确认系统安装了gcc

gcc –v   正常情况可以看到版本号

如果得到gcc:command not found 代表gcc没有安装,或者安装有问题

2.解决:可以参考如下进行GCC的安装(不同系统请各自参考gcc安装方法)

放入系统安装光盘,进入cd /media/CentOS_5.5_Final/CentOS/中,按顺序安装如下程序

rpm -ivh cpp-4.1.2-48.el5.x86_64.rpm

rpm -ivh kernel-headers-2.6.18-194.el5.x86_64.rpm

rpm -ivh glibc-headers-2.5-49.x86_64.rpm

rpm -ivh glibc-devel-2.5-49.x86_64.rpm

rpm -ivh libgomp-4.4.0-6.el5.x86_64.rpm

rpm -ivh gcc-4.1.2-48.el5.x86_64.rpm

 

二、开始安装Redis

首先解压redis-2.2.4.tar.gz到Linux的指定目录中,这里举例我们使用的目录为/usr/local/redis(自行建立该redis目录)将解压后的文件放入该目录


Redis安装和使用指南 - mwt198668 - 怀念那穿树叶年代!!

1.进入该目录

cd /usr/local/redis/redis-2.2.4

2.执行

$ make

注:此过程可能会遇到./mkreleasehdr.sh权限不够,那么请先将执行

$ cd /usr/local/redis/redis-2.2.4/usr/src

$ chmod 777 mkreleasehdr.sh

如没有错误,安装结束后能看到

Redis安装和使用指南 - mwt198668 - 怀念那穿树叶年代!!

3.到此我们的Redis就安装完成了

      我们通过执行./src/redis-server开启redis服务,然后输入如下命令可以测试Redis是否正常工作:

      $ cd src

      $ ./redis-cli

            redis> ping                  测试服务是否开启

            PONG                           服务开启时可以看到PONG的回应

            redis> set foo bar        将key=foo,value=bar放入redis中

            OK                               成功返回OK

            Redis> get foo             获得key=foo的value

            "bar"                            成功返回”bar”


至此Redis安装一切正常o(^_^)o


Redis使用入门

一、Redis启动和关闭

为了方便管理可以在/usr/local/redis目录中添加3个文件夹

      $ mkdir /usr/local/redis/bin

      $ mkdir /usr/local/redis/etc

      $ mkdir /usr/local/redis/var

       $ cp redis-server redis-cli redis-benchmark redis-stat /usr/local/redis/bin/

       $ cp redis.conf /usr/local/redis/etc/

 

因为改变了redis.conf文件的位置,所以启动方法如下

      $ mkdir /usr/local/redis/bin

      $ ./redis-server ../etc/redis.conf

 

启动后可通过ps –ef|preg redis来查看Rredis是否启动成功

关闭Redis通过

      $ ./redis-cli     启动客户端程序

      $->shutdown   关闭当前Redis

      $->exit         退出客户端程序

 

二、配置参数

  在我们成功安装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服务

三、客户端程序

      因为本人业务需要,这里只列举Java客户端,其他语言客户端请参考官方文档(http://www.redis.io/clients),现有Java客户端有4种:

    Redis安装和使用指南 - mwt198668 - 怀念那穿树叶年代!!

其中Jedis是官方主推的Java客户端,架构思路清晰,小巧,下面是用Jedis客户端访问Redis

版本:jedis-1.5.2.jar

代码示例:

    String host = "192.168.169.132";

    // host提供Redis服务的主机IP,Redis提供默认端口6379

    Jedis jedis = new Jedis(host);

    jedis.ping();// return PONG,测试主机服务是否正常启动

    jedis.set("hello", "world"); // return OK

    jedis.get("hello"); // return "world"

    jedis.shutdown(); // 关闭该Redis

 

根据现在有环境进行的测试结果(仅供参考):

      单客户端,单线程向Redis服务器中添加10,0000key用时20秒左右

      单客户端,10线程向Redis服务器中添加10,0000key用时6秒左右

四、同步机制

      Redis到目前使用的版本为止只支持master-slave(主-从)同步,不支持master-master  (主-主)同步。

      1.设置同步:

      在Slave机器的redis.conf配置文件中修改

            # slaveof                 

            例如:slaveof 192.168.169.132 6379

            主机IP

            主机端口

 

      2.多个从机,可以让多个从机指向一个相同的主机。

      3.串联同步,可以让一个从机指向一个主机,让另一个从机指向刚才的从机,从而实现串联;          从机只同步其主机的数据。

注:切忌不可以让主机和从机相互指向对方,否则将无法同步。

 

   录

一、常用命令格式

启动Redis服务:

1.默认启动:读取src下的redis.conf配置文件启动redis

      $ ./redis-server

2.指定配置文件启动:

      $ ./redis-server ../etc/redis.conf  (使用指定位置的配置文件来启动Redis)

 

启动Redis客户端:

1.启动默认客户端,连接到默认src下的redis.conf配置文件中地址的Redis

      $ ./redis-cli

2.连接到指定地址的Redis

      $ ./redis-cli –h 192.168.169.132

3. 连接到指定地址和端口的Redis

      $ ./redis-cli –h 192.168.169.132 –p 6380




推荐阅读
author-avatar
CL_LC的小屋花_344
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有