一.概述
1.redis是一个key-value存储系统,和memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set有序集合)和hash(哈希类型)。这些数据类型都支持push/pop,add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。再次基础上,redis支持各种不同方式的排序,与memcached一样,为了保证效率,数据都是缓存的内存中,区别的是redis会周期性地把数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现master-slave(主从)同步。
2.Redis 由四个可执行文件:redis-benchmark、redis-cli、redis-server、redis-stat 这四个文件,加上一个redis.conf就构成了整个redis的最终可用包。它们的作用如下:
1)redis-server:Redis服务器的daemon启动程序;
2)redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作;
3)redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能;
4)redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况。
3.redis目前提供四种数据类型:string,list,set及zset(sorted set)和Hash。
1)string是最简单的类型,你可以理解成与Memcached一模一个的类型,一个key对应一个value,其上支持的操作与Memcached的操作类似。但它的功能更丰富;
2)list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链表的名字;
3)set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作。操作中key理解为集合的名字;
4)zset是set的一个升级版本,他在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解了有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字;
Hash数据类型允许用户用Redis存储对象类型,Hash数据类型的一个重要优点是,当你存储的数据对象只有很少几个key值时,数据存储的内存消耗会很小;
更多关于Hash数据类型的说明请见: http://code.google.com/p/redis/wiki/Hashes
二.安装
1.下载安装包:
https://github.com/antirez/redis/archive/2.8.19.tar.gz
2.解压:
tar -zxvf redis-3.0.4.tar.gz
3.make
4.make install
5.配置文件:./redis/redis.conf
三.与memcached比较
1. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储;
2. Redis支持数据的备份,即master-slave模式的数据备份;
3. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。
参考:
http://www.cnblogs.com/shanyou/archive/2012/01/28/2330451.html