`

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目录)将解压后的文件放入该目录


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

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



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种:

   

其中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 <masterip> <masterport>               

            例如:slaveof 192.168.169.132 6379

            <masterip>主机IP

            <masterport>主机端口



      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
分享到:
评论

相关推荐

    Windows 上安装 Redis安装,redis7.2安装到windows上面

    Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows 上安装 Redis安装Windows ...

    Redis 7.0.4 x64位 windows 系统 安装包 Redis7.0.4.zip

    Redis7.0.4.zip,解压缩到D盘根目录后,安装后启动为Windows服务 注意是windows 64位系统才可使用,不支持windows 32位系统使用 已经在Win10,Win11,Windows server 2012系统测试运行可用 使用步骤注意事项: ...

    若依前后端分离版去redis版/无redis版本

    基于前后端分离的应用,无论是否使用Redis,都需要考虑如何进行数据的存储和缓存。下面我将分别介绍基于Redis和无Redis的两种版本的特点。 基于Redis的版本 特点 缓存处理:Redis作为内存数据库可以用来缓存频繁访问...

    redis-windows-7.0.11

    Redis是一种开源的内存数据结构存储系统,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。Redis可以用作数据库、缓存和消息中间件。Redis在性能、可扩展性和灵活性方面表现出色,因此被广泛应用于Web...

    redis-5.0.4.tar.gz下载及redis安装过程

    redis安装 1: 下载redis-5.0.4.tar.gz 2: 解压源码并进入目录 tar zxvf redis-5.0.4.tar.gz cd redis-5.0.4 3: 不用configure 4: 直接make (如果是32位机器 make 32bit) 查看linux机器是32位还是64位的方法:...

    redis-5.0.5.tar.gz

    redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-5.0.5.redis-...

    windows环境下配置redis6集群

    注意:由于本人配置redis.conf中的路径使用的是绝对路径,当前redis安装目录的父目录为D:\InstallDir,可以在每个配置文件中修改为自己指定的路径位置 redis638-.conf配置文件内容 #redis服务器端口号 port 6380 #...

    Redis集群下过期key监听的实现代码

    在使用redis集群时,发现过期key始终监听不到。网上也没有现成的解决方案。于是想,既然不能监听集群,那我可以建立多个redis连接,分别对每个redis的key过期进行监听。以上做法可能不尽人意,目前也没找到好的解决...

    Redis-5.0.0集群配置

    本文档基于以前写的《Redis-3.0.5集群配置》和《Redis-4.0.11集群配置》。  redis-3.0.0开始支持集群,redis-4.0.0开始支持module,redis-5.0.0开始支持类似于kafka那样的消息队列。  本文参考官方文档而成:...

    redis desktop manager(redis桌面管理器)下载(0.8.3)

    redis-desktop-manager-0.8.3.3850.rar windows平台安装文件 Redis Desktop Manager(redis桌面管理器)是一款非常实用的跨平台Redis桌面管理软件。也被称作Redis可视化工具,是一款开源软件,支持通过SSH Tunnel连接...

    Redis面试题50道(含答案)_.pdf

    1、什么是 Redis? 2、Redis 相比 memcached 有哪些优势? 3、Redis 支持哪几种数据类型? 4、Redis 主要消耗什么物理资源? 5、Redis 的全称是什么? 6、Redis 有哪几种数据淘汰策略? 7、Redis 官方为什么不提供 ...

    redis获取命令字典的方法及全部的group命令.txt

    本地安装redis,通过安装目录下的redis客户端程序可以连接任意Redis服务(只要服务端是启动着的),命令 redis-cli -h ip -p port。如果服务端要求认证资格,可能还要输入用户名密码等参数。 Redis命令十分丰富,...

    redis安装离线版免编译版及离线安装需要的所有包文件

    本资源可结合我的文章《详解CentOS7下编译安装Redis5.x设置开机启动及修改端口(含redis需编译安装包和redis免编译安装包)》配合使用,同时也可单独去使用。包含redis3.0.7免编译版安装包,redis5.0.7离线安装包,...

    SpringBoot+VUE+Redis+nginx 网上拍卖平台源码.zip

    SpringBoot+VUE+Redis+nginx 网上拍卖平台源码 SpringBoot+VUE+Redis+nginx 网上拍卖平台源码 SpringBoot+VUE+Redis+nginx 网上拍卖平台源码 SpringBoot+VUE+Redis+nginx 网上拍卖平台源码 SpringBoot+...

    redis_4.0.10-1_arm64.deb 银河麒麟v4+飞腾

    1、redis_4.0.10-1_arm64.deb 银河麒麟v4+飞腾 安装包 2、自带服务启动 3、目录树 /opt/redis-4.0.10/ ├── bin │ ├── redis-benchmark │ ├── redis-check-aof │ ├── redis-check-rdb │ ├── ...

    redis视频教程百度网盘下载地址及密码

    2016122201_Redis_初探_1.mp4 2016122201_Redis_初探_2.mp4 2016122201_Redis_初探_3.mp4 2016122202_Redis_安装_字符串键_1.mp4 2016122202_Redis_安装_字符串键_2.mp4 2016122202_Redis_安装_字符串键_3.mp4 ...

    redis-x64-4.0.2.3,windows版本

    右键解压Redis压缩包,把所有文件解压到指定的redis文件夹中 1.配置redis.windows.conf文件,除了port配置为对应的端口外,其他根据需要可更改的配置项说明如下: (1)bind 127.0.0.1 (line:79) # 设置为其他机器...

    redis桌面链接工具redis-desktop

    redis桌面链接工具redis-desktop Redis Desktop Manager(简称RDM)是一款跨平台的Redis数据库管理工具,它提供了一个直观且用户友好的图形界面,允许开发者和运维人员轻松地连接到Redis服务器,并对其进行管理和...

    1.2.6版StackExchange.Redis

    1.2.6版StackExchange.Redis。 StackExchange.Redis是.net下的Redis客户端之一,目前是免费的。而用户量比较多的ServiceStack.Redis现在是收费的。把下载的三个文件(StackExchange.Redis.dll、StackExchange.Redis....

    Redis入门指南(第2版)电子书

    《Redis入门指南(第2版)》是一本Redis的入门指导书籍,以通俗易懂的方式介绍了Redis基础与实践方面的知识,包括历史与特性、在开发和生产环境中部署运行Redis、数据类型与命令、使用Redis实现队列、事务、复制、...

Global site tag (gtag.js) - Google Analytics