随笔分类 -  Redis

摘要:Redis 的set是string类型的无序集合。set元素最大可以包含(2的32次方-1)个元素。set的是通过hash table实现的,所以添加,删除,查找的复杂度都是O(1)。hash table会随着添加或者删除自动的调整大小。需要注意的是调整hash table大小时候需要同步(获取写锁 阅读全文
posted @ 2016-07-14 22:42 点解 阅读(3431) 评论(0) 推荐(0)
摘要:redis的list类型其实就是一个每个子元素都是string类型的双向链表。所以[lr]push和[lr]pop命令的算法时间复杂度都是O(1)。另外list会记录链表的长度。所以llen操作也是O(1).链表的最大长度是(2的32次方-1)。我们可以通过push,pop操作从链表的头部或者尾部添 阅读全文
posted @ 2016-07-10 13:44 点解 阅读(2502) 评论(0) 推荐(0)
摘要:string是redis最基本的类型,而且string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象。从内部实现来看其实string可以看作byte数组,最大上限是1G字节。下面是string类型的定义。 struct sdshdr { long 阅读全文
posted @ 2016-07-05 22:03 点解 阅读(1729) 评论(0) 推荐(0)
摘要:Redis支持的各种数据类型包括string,list ,set ,sorted set 和hash . Redis本质上一个key-value db,所以我们首先来看看他的key。首先key也是字符串类型,但是key中不能包括边界字符。由于key不是binary safe的字符串,所以像"my k 阅读全文
posted @ 2016-07-03 20:38 点解 阅读(1092) 评论(0) 推荐(0)
摘要:Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交 阅读全文
posted @ 2016-06-19 18:59 点解 阅读(871) 评论(0) 推荐(1)