1.概述
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。
Redis有三个主要特点,使它优越于其它键值数据存储系统 -
(1)Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化。
(2)与其它键值数据存储相比,Redis有一组相对丰富的数据类型。
(3)Redis可以将数据复制到任意数量的从机中。
Redis使用环境
-
关系型数据库的缓存存在
-
可以做任务队列
-
大量数据运算
-
排行榜
Redis端口号:6379
Redis的优点
(1)异常快 - Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。
(2)支持丰富的数据类型 -Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
(3)操作具有原子性 - 所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。
(4)多实用工具 -Redis是一个多实用工具,可用于多种用例,如:缓存,消息队列(Redis本地支持发布/订阅),应用程序中的任何短期数据,例如,web应用程序中的会话,网页命中计数等。
Redis与其他键值存储系统
(1)Redis是键值数据库系统的不同进化路线,它的值可以包含更复杂的数据类型,可在这些数据类型上定义原子操作。
(2)Redis是一个内存数据库,但在磁盘数据库上是持久的,因此它代表了一个不同的权衡,在这种情况下,在不能大于存储器(内存)的数据集的限制下实现非常高的写和读速度。
(3)内存数据库的另一个优点是,它与磁盘上的相同数据结构相比,复杂数据结构在内存中存储表示更容易操作。因此,Redis可以做很少的内部复杂性。
2.安装和配置
2.1 安装
下载地址:http://download.redis.io/releases/选择你需要的版本
或者:
#wget http://download.redis.io/releases/redis-3.0.6.tar.gz
$ tar xzf redis-3.0.6.tar.gz
$ cd redis-3.0.6
$ make
2.2 连接配置
Redis程序和配置的整理,方便后期维护
- 创建目录:
# mkdir –p/usr/local/redis/bin
拷贝编译后的执行程序到/usr/local/redis/bin目录下:
[root@localhostsrc]# cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dumpredis-cli redis-sentinel redis-server /usr/local/redis/bin/
(2)创建目录:
#mkdir -p/usr/local/redis/etc
拷贝配置文件到/usr/local/redis/etc目录下:
[root@localhost redis-3.0.6]#cp redis.conf /usr/local/redis/etc
(3)运行服务:
Redis.conf文件中:daemonize是否以后台进程运行,默认为no,修改为yes
(4)执行以下指令,Redis将以非控制台运行:
$ /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
- 连接
a) 启动:/usr/local/redis/bin/ redis-server(前端启动)
/usr/local/redis/bin/ redis-server redis.conf(后端启动)
b) 连接:/usr/local/redis/bin/redis-cli -h 127.0.0.1