3 redis的简单使用

2017-06-23  本文已影响0人  lijiaccy

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
<strong>String(字符串)</strong>
string是redis最基本的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
string类型是Redis最基本的数据类型,一个键最大能存储512MB。
<pre>172.16.255.231:7001> set foot bar
-> Redirected to slot [11286] located at 172.16.255.231:7003
OK
172.16.255.231:7003> get foot
"bar"
</pre>
<strong>Hash(哈希)</strong>
Redis hash 是一个键名对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
每个 hash 可以存储 232 -1 键值对(40多亿)。
<pre>172.16.255.231:7002> HMSET user:1 username runoob password runoob points 200
OK
172.16.255.231:7002> HGETALL user:1

  1. "username"
  2. "runoob"
  3. "password"
  4. "runoob"
  5. "points"
  6. "200"
    </pre>
    <strong>List(列表)</strong>
    Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
    <pre>172.16.255.231:7002> LPUSH runoob redis
    -> Redirected to slot [11055] located at 172.16.255.231:7003
    (integer) 1
    172.16.255.231:7003> LPUSH runoob mongodb
    (integer) 2
    172.16.255.231:7003> LPUSH runoob rabitmq
    (integer) 3
    172.16.255.231:7003> LRANGE runoob
    (error) ERR wrong number of arguments for 'lrange' command
    172.16.255.231:7003> LRANGE runoob 0 10
  7. "rabitmq"
  8. "mongodb"
  9. "redis"
    </pre>
    <strong>Set(集合)</strong>
    Redis的Set是string类型的无序集合。
    集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
    <pre>
    172.16.255.231:7003> SADD runoop redis
    -> Redirected to slot [6492] located at 172.16.255.231:7002
    (integer) 1
    172.16.255.231:7002> SADD runoop mongodb
    (integer) 1
    172.16.255.231:7002> SADD runoop rabitmq
    (integer) 1
    172.16.255.231:7002> SMEMBERS runoop
  10. "rabitmq"
  11. "mongodb"
  12. "redis"
    </pre>
    <strong>zset(sorted set:有序集合)</strong>
    Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
    不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
    zset的成员是唯一的,但分数(score)却可以重复。
    <pre>172.16.255.231:7002> zadd runooa 0 redis
    (integer) 1
    172.16.255.231:7002> zadd runooa 0 mongodb
    (integer) 1
    172.16.255.231:7002> zadd runooa 0 rabitmq
    (integer) 1
    172.16.255.231:7002> ZRANGEBYSCORE runooa 0 1000
  13. "mongodb"
  14. "rabitmq"
  15. "redis"
    </pre>
    总结一下,redis主要有上面5个类型
    String、Hash、Set、ZSet、List
    String : set和get
    Hash : hmset和hgetall
    Set : sadd和 smembers
    ZSet : zadd 和zrangebyscore
    List : LPUSH/Rpush和LRanger
    在以下几章专门分别来讲解着5个。
上一篇 下一篇

猜你喜欢

热点阅读