Redis与Memcached类似都是KV存储系统,Redis支持的value类型相对更多一些,比如string,list,set,sort set. 同时这些数据类型还支持一些交集,并集,差集等一些列丰富的操作。区别于Memcached全内存的缓存,Redis会周期性的把更新的数据写入磁盘或者追加到文件,并且实现master-slave同步。
下面简单的罗列一些KV Store 的特点:
KV Store : 一个KV数据存储系统,支持一些基本的get,set操作。
分布式 : 多台机器同时存储数据和状态,彼此通过交换消息来保持数据的一致性,可视为一个完成的存储系统。
数据一致 : 所有机器上的数据都是同步更新的、不用担心得到不一致的结果。
冗余 : 所有机器保存相同的数据,整个系统的存储能力取决于单台机器的能力。
容错 : 如果有少数 nodes 出错,比如重启、宕机、断网、网络丢包都不影响整个系统的运行。
高可靠性 : 容错、冗余等保证了数据库的可靠性。
redis 的安装在这里就不赘述了,主要用到的命令,wget,tar, make, cd src & make all.
值得关注的是redis.conf这个配置文件,很多的优化操作都需要修改此配置文件,该配置文件中每项属性的内容注释都描述的很情绪,希望大家可以仔细阅读,了解每个属性的不同含义,根据自己的业务场景进行配置。
Redis 的作者antirez(Salvatore Sanfilippo)曾经发表了一篇名为Redis 宣言(Redis Manifesto)的文章,文中列举了Redis 的七个原则,以向大家阐明Redis 的思想。可以参考 :http://zhuqiuxu.iteye.com/blog/2054352
在此列举一些每个数据类型的常用命令,供大家查阅,仔细的命令内容的讲解大家可以参考附件中的学习文档。
strings类型及操作: set, setnx, setex, setrange mset, msetnx, get, getset, getrange, mget, incr, incrby, decr, decrby, append, strlen.
hashes类型及操作: hset, hsetnx, hmset, hget, hmget, hincrby, hexists, hlen, hdel, hkeys, hvals, hgetall
lists类型及操作: lpush, rpush, linsert, lset, lrem, ltrim, lpop, rpop, rpoplpush, lindex, llen.
sets类型及操作: sadd, srem, spop, sdiff, sdiffstore, sinter, sinterstore, sunion, sunionstore, smove, scard, sismember, srandmember
sorted sets类型及操作: zadd, zrem, zincrby, zrank, zrevrank, zrevrange, zrangebyscore, zcount, zcard, zscore, zremrangebyrank, zremrangebyscore
以上就是在下对于redis入门东西的一些整理,欢迎拍砖,希望可以和更多的大牛讨教和交流。