最好坚持一种模式。例如:”object-type:id:field”就是个不错的注意,像这样”user:1000:password”。我喜欢对多单词的字段名中加上一个点,就像这样:”comment:1234:reply.to”。redis
虽然字符串是Redis的基本值类型,但你仍然能经过它完成一些有趣的操做。例如:原子递增: not connected> set counter 100 OK redis 127.0.0.1:6379> incr counter (integer) 101 redis 127.0.0.1:6379> redis 127.0.0.1:6379> incr counter (integer) 102 redis 127.0.0.1:6379> incr counter (integer) 103 redis 127.0.0.1:6379> incr counter (integer) 104 redis 127.0.0.1:6379> incr counter (integer) 105 redis 127.0.0.1:6379> incr counter数组
INCR 命令将字符串值解析成整型,将其加一,最后将结果保存为新的字符串值,相似的命令有INCRBY, DECR and DECRBY。实际上他们在内部就是同一个命令,只是看上去有点儿不一样。索引
列表类型 通常意义上讲,列表就是有序元素的序列:10,20,1,2,3就是一个列表。但用数组实现的List和用Linked List实现的List,在属性方面大不相同。字符串
Redis lists基于Linked Lists实现。这意味着即便在一个list中有数百万个元素,在头部或尾部添加一个元素的操做,其时间复杂度也是常数级别的。用LPUSH 命令在十个元素的list头部添加新元素,和在千万元素list头部添加新元素的速度相同。object
那么,坏消息是什么?在数组实现的list中利用索引访问元素的速度极快,而一样的操做在linked list实现的list上没有那么快。List