热门标签 | 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




推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 006_Redis的List数据类型
    1.List类型是一个链表结构的集合,主要功能有push,pop,获取元素等。List类型是一个双端链表的结构,我们可以通过相关操作进行集合的头部或者尾部添加删除元素,List的设 ... [详细]
  • Redis底层数据结构之压缩列表的介绍及实现原理
    本文介绍了Redis底层数据结构之压缩列表的概念、实现原理以及使用场景。压缩列表是Redis为了节约内存而开发的一种顺序数据结构,由特殊编码的连续内存块组成。文章详细解释了压缩列表的构成和各个属性的含义,以及如何通过指针来计算表尾节点的地址。压缩列表适用于列表键和哈希键中只包含少量小整数值和短字符串的情况。通过使用压缩列表,可以有效减少内存占用,提升Redis的性能。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 本文介绍了一种轻巧方便的工具——集算器,通过使用集算器可以将文本日志变成结构化数据,然后可以使用SQL式查询。集算器利用集算语言的优点,将日志内容结构化为数据表结构,SPL支持直接对结构化的文件进行SQL查询,不再需要安装配置第三方数据库软件。本文还详细介绍了具体的实施过程。 ... [详细]
  • Centos7搭建ELK(Elasticsearch、Logstash、Kibana)教程及注意事项
    本文介绍了在Centos7上搭建ELK(Elasticsearch、Logstash、Kibana)的详细步骤,包括下载安装包、安装Elasticsearch、创建用户、修改配置文件等。同时提供了使用华为镜像站下载安装包的方法,并强调了保证版本一致的重要性。 ... [详细]
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • 2021最新总结网易/腾讯/CVTE/字节面经分享(附答案解析)
    本文分享作者在2021年面试网易、腾讯、CVTE和字节等大型互联网企业的经历和问题,包括稳定性设计、数据库优化、分布式锁的设计等内容。同时提供了大厂最新面试真题笔记,并附带答案解析。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
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社区 版权所有