Redis 基本操作

2018-05-31  本文已影响16人  BzCoder

本人郑重承诺以下都是基本操作,请坐下请坐下。
内容是跟着http://try.redis.io/做的。边学边笔记。
更多指令可以参考http://www.runoob.com/redis/redis-tutorial.html

通用操作

String

SET server:name "fido"
GET server:name => "fido"
   SET connections 10
    INCR connections => 11
    INCR connections => 12
    DEL connections
    INCR connections => 1
 SET resource:lock "Redis Demo 1"
    EXPIRE resource:lock 120
    TTL resource:lock => 119
    SET resource:lock "Redis Demo 2"
    TTL resource:lock => -1

LIST

Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)

一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

  RPUSH friends "Alice"
    RPUSH friends "Bob"
  LPUSH friends "Sam"
   LRANGE friends 0 -1 => 1) "Sam", 2) "Alice", 3) "Bob"
    LRANGE friends 0 1 => 1) "Sam", 2) "Alice"
    LRANGE friends 1 2 => 1) "Alice", 2) "Bob"
 LLEN friends => 3

SET

Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。

Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

SADD superpowers "flight"]
SADD superpowers "x-ray vision"
SADD superpowers "reflexes"
SREM superpowers "reflexes"
SISMEMBER superpowers "flight" => 1 
SISMEMBER superpowers "reflexes" => 0
SMEMBERS superpowers => 1) "flight", 2) "x-ray vision"
SADD birdpowers "pecking" 
SADD birdpowers "flight" 
SUNION superpowers birdpowers => 1) "pecking", 2) "x-ray vision", 3) "flight"

SORTED SET

Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复。

集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。

   ZADD hackers 1940 "Alan Kay"
   ZADD hackers 1906 "Grace Hopper"
   ZADD hackers 1953 "Richard Stallman"
   ZADD hackers 1965 "Yukihiro Matsumoto"
   ZADD hackers 1916 "Claude Shannon"
   ZADD hackers 1969 "Linus Torvalds"
   ZADD hackers 1957 "Sophie Wilson"
   ZADD hackers 1912 "Alan Turing"
   ZRANGE hackers 2 4 => 1) "Claude Shannon", 2) "Alan Kay", 3) "Richard Stallman"

Hash

Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

HSET user:1000 name "John Smith"
HSET user:1000 email "john.smith@example.com"
HSET user:1000 password "s3cret"
//当然也可以一句搞定
HMSET user:1001 name "Mary Jones" password "hidden" email "mjones@example.com"
HGETALL user:1000
HGET user:1001 name => "Mary Jones"
  HSET user:1000 visits 10
  HINCRBY user:1000 visits 1 => 11
  HINCRBY user:1000 visits 10 => 21
  HDEL user:1000 visits
  HINCRBY user:1000 visits 1 => 1

好了就到这里吧!

上一篇 下一篇

猜你喜欢

热点阅读