Redis的学习笔记

Redis:REmote DIctionary Server(远程字典服务器)

Redis有三个特点:

  ①Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。

  ②Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。

  ③Redis支持数据的备份,即master-slave的数据备份。

Redis的作用:

  ①内存存储和持久化:Redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务。

  ②取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面。

  ③模拟类似一HttpSession这中需要设定过期时间的功能。

  ④发布、订阅消息系统。

  ⑤定时器、计数器。

Redis的命令(cmd):

  Redis 字符串(String):

    Redis 字符串数据类型的相关命令用于管理 redis 字符串值.

    redis 127.0.0.1:6379> SET runoobkey redis

    ok

    redis 127.0.0.1:6379> GET runoobkey

    "redis"

    redis 127.0.0.1:6379> DEL runoobkey

    (interger) 1

  Redis 哈希(Hash):

    Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。

    Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。

    redis 127.0.0.1:6379> HSET myhash field1 "foo"
    (integer) 1
    redis 127.0.0.1:6379> HDEL myhash field1
    (integer) 1
    redis 127.0.0.1:6379> HDEL myhash field2
    (integer) 0

   Redis 列表(List):

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

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

    redis 127.0.0.1:6379> LPUSH runoobkey redis
    (integer) 1
    redis 127.0.0.1:6379> LPUSH runoobkey mongodb
    (integer) 2
    redis 127.0.0.1:6379> LPUSH runoobkey mysql
    (integer) 3
    redis 127.0.0.1:6379> LRANGE runoobkey 0 10

    1) "mysql"
    2) "mongodb"
    3) "redis"

  Redis 集合(Set):  

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

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

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

    redis 127.0.0.1:6379> SADD runoobkey redis
    (integer) 1
    redis 127.0.0.1:6379> SADD runoobkey mongodb
    (integer) 1
    redis 127.0.0.1:6379> SADD runoobkey mysql
    (integer) 1
    redis 127.0.0.1:6379> SADD runoobkey mysql
    (integer) 0
    redis 127.0.0.1:6379> SMEMBERS runoobkey

    1) "mysql"
    2) "mongodb"
    3) "redis"

  Redis 有序集合(sorted set):

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

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

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

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

    redis 127.0.0.1:6379> ZADD runoobkey 1 redis
    (integer) 1
    redis 127.0.0.1:6379> ZADD runoobkey 2 mongodb
    (integer) 1
    redis 127.0.0.1:6379> ZADD runoobkey 3 mysql
    (integer) 1
    redis 127.0.0.1:6379> ZADD runoobkey 3 mysql
    (integer) 0
    redis 127.0.0.1:6379> ZADD runoobkey 4 mysql
    (integer) 0
    redis 127.0.0.1:6379> ZRANGE runoobkey 0 10 WITHSCORES

    1) "redis"
    2) "1"
    3) "mongodb"
    4) "2"
    5) "mysql"
    6) "4"

    

    

 

posted @ 2018-04-26 09:40  学习使我快乐Y  阅读(134)  评论(0编辑  收藏  举报