咱们说 Redis 相对于 Memcache 等其余的缓存产品,有一个比较明显的优点就是 Redis 不单单支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。本篇博客咱们就将介绍这些数据类型的详细使用以及顺带介绍Redis系统的相关命令用法。html
注意:Redis的命令不区分大小写,可是key 严格区分大小写!!!redis
string 是Redis的最基本的数据类型,能够理解为与 Memcached 如出一辙的类型,一个key 对应一个 value。string 类型是二进制安全的,意思是 Redis 的 string 能够包含任何数据,好比图片或者序列化的对象,一个 redis 中字符串 value 最多能够是 512M。数据库
string 数据类型在 Redis 中的相关命令:缓存
表格图片引用:http://www.cnblogs.com/xrq730/p/8944539.html(下同)安全
PS:上面的 ttl 命令是返回 key 的剩余过时时间,单位为秒。数据结构
上面是 string 类型的基本命令,下面介绍几个自增自减操做,这在实际工做中仍是特别有用的(分布式环境中统计系统的在线人数,利用Redis的高性能读写,在Redis中完成秒杀,而不是直接操做数据库。)。分布式
hash 是一个键值对集合,是一个 string 类型的 key和 value 的映射表,key 仍是key,可是value是一个键值对(key-value)。类比于 Java里面的 Map<String,Map<String,Object>> 集合。性能
演示以下:spa
list 列表,它是简单的字符串列表,按照插入顺序排序,你能够添加一个元素到列表的头部(左边)或者尾部(右边),它的底层其实是个链表。3d
Redis 的 set 是 string 类型的无序集合。
zset(sorted set 有序集合),和上面的set 数据类型同样,也是 string 类型元素的集合,可是它是有序的。
关于 key 的命令应该说是最经常使用的,须要你们记住。
这里在介绍一个命令 :
OBJECT ENCODING key
这是用来显示这五种数据类型的底层数据结构,下一篇博客咱们会详细介绍。
上面的命令咱们给string 数据类型 k1 复制str,给 k2 复制123,经过 OBJECT ENCODING 显示底层实现的数据类型分别是 embstr 和 int。这究竟是什么呢?下篇博客咱们会详细介绍的。
参考文档:http://www.redis.cn/commands.html
http://www.cnblogs.com/xrq730/p/8944539.html