string 为最简单的类型, 与 Memcached 一样的类型, 一个 key 对应一个 value, 其支持的操作与 Memcached 的操作类似, 它的功能更丰富. 设置可以存二进制的对象.
示例:
- #Redis-cli
- 127.0.0.1:6379> set mykey "aminglinux.com"
- OK
- 127.0.0.1:6379> get mykey
- "aminglinux.com"
- 127.0.0.1:6379> mset key1 1 key2 a key3 c
- 127.0.0.1:6379> mget key1 key2 key3
- 1) "1"
- 2) "a"
- 3) "c"
Redis 数据类型 - list?
list 是一个链表结构, 主要功能是 push,pop, 获取一个范围的所有值等等. 操作中 key 理解为链表的名字.
使用 list 结构, 我们可以轻松地实现最新消息排行等功能 (比如新浪微博的 TimeLine ).list 的另一个应用就是消息队列, 可以利用 list 的 push 操作, 将任务存在 list 中, 然后工作线程再用 pop 操作将任务取出进行执行.
示例:
- #Redis-cli
- 127.0.0.1:6379> LPUSH list1 "aminglinux"
- 127.0.0.1:6379> LPUSH list1 "1 2 3"
- 127.0.0.1:6379> LPUSH list1 "aaa bbb"
- 127.0.0.1:6379> LRANGE list1 0 -1
- 1) "aaa bbb"
- 2) "1 2 3"
- 3) "aminglinux"
- 127.0.0.1:6379> LPOP list1
Redis 数据类型 - set?
set 是集合, 和我们数学中的集合概念相似, 对集合的操作有添加删除元素, 有对多个集合求交并差等操作. 操作中 key 理解为集合的名字. 比如在微博应用中, 可以将一个用户所有的关注人存在一个集合中, 将其所有粉丝存在一个集合. 因为 Redis 非常人性化的为集合提供了求交集, 并集, 差集等操作, 那么就可以非常方便的实现如共同关注, 共同喜好, 二度好友等功能, 对上面的所有集合操作, 你还可以使用不同的命令选择将结果返回给客户端还是存集到一个新的集合中.
set 示例
- 127.0.0.1:6379> SADD set1 a
- 127.0.0.1:6379> SADD set1 b
- 127.0.0.1:6379> SADD set1 c
- 127.0.0.1:6379> SADD set1 d
- 127.0.0.1:6379> SMEMBERS set1
- 1) "d"
- 2) "b"
- 3) "a"
- 4) "c"
- 127.0.0.1:6379> SREM set1 c// 删除元素
- 127.0.0.1:6379> SADD set2 a 2 b
- 127.0.0.1:6379> SINTER set1 set2 // 交集
- 127.0.0.1:6379> SUNION set1 set2 // 并集
- 127.0.0.1:6379> SDIFF set1 set2 // 差集
Redis 数据类型 - sort set?
sorted set 是有序集合, 它比 set 多了一个权重参数 score, 使得集合中的元素能够按 score 进行有序排列, 比如一个存储全班同学成绩的 Sorted Sets, 其集合 value 可以是同学的学号, 而 score 就可以是其考试得分, 这样在数据插入集合的时候, 就已经进行了天然的排序.
- 127.0.0.1:6379> ZADD set3 12 abc
- 127.0.0.1:6379> ZADD set3 2 "cde 123"
- 127.0.0.1:6379> ZADD set3 24 "123-aaa"
- 127.0.0.1:6379> ZADD set3 4 "a123a"
- 127.0.0.1:6379> ZRANGE set3 0 -1
- 1) "cde 123"
- 2) "a123a"
- 3) "abc"
- 4) "123-aaa"
来源: http://www.bubuko.com/infodetail-2843420.html