redis(redis概念,运用场景,如何操作基本数据类型)

  1. 什么是redis:Nosql一种缓存数据库
  2. redis可以干什么:redis可以减轻对数据库的请求压力
    如果不使用缓存:客服端->控制层->业务层->dao层
    使用缓存:客服端->控制层->业务层->redis缓存 1:如果缓存中有数据,则直接返回缓存数据,则不需要dao层jidbc连接数据库 2:如果没有则在进行数据库的连接,查询数据,将查询出来的数据在放到缓存之中。这样可以减轻数据库访问的压力(访问缓存的速度 优于访问数据库的速度)

     

  3. redis使用场景:
    1:token的生成(注册登录的时候,将生成的token放到redis之中)客服端每次请求的时候 只需要将前端传过来的token和后端保存到redis的token相比较,相同则放行,不需要在将token保存到数据库之中
    2:session共享
    3:分布式锁
    4:自增id
    5:验证码(redis可以设置过期的时间)

   redis内置的数据类型有 5种:字符串String、哈希Hash、列表List、集合Set、有序集合ZSet

  1.   string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB,string 类型是二进制安全的。意思是 redis 的 string 可以包含任何数据。比如jpg图片或者序列化的对象。存值:set key value ;取值:get key 
    示例:
  2. Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。Redis 中每个 hash 可以存储 232 - 1 键值对(40多亿)。hash存值的方式比String 稍微要复杂一点存值:hmset key field value [field value ...] ;取值:hget key field

    示例:
        存值:hmset myhash key1 value1 key2 value2
        取值:hget myhash key2

     
      获取key的所有值(key-value) :hgetall myhash

     

  3.  Redis 操作list(可重复)列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)一个列表最多可以包含 232 - 1 个元素 (4294967295, 每个列表超过40亿个元素)。

    示例:
       存值:

       取值:

    取值 LRANGE key  开始索引 最后索引

  4.  redis操作 set(不可重复)Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。集合中最大的成员数为 232 - 1个集合可存储40多亿个成员)。存值:sadd key value 取值所有:smembers key 
    示例:
     
    存值

      取值:

     

  5.  redis 操作sort set 有序集合 Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 集合中最大的成员数为 232 - 1 (4294967295, 每个集合可存储40多亿个成员)。
    存值:

    取值:

    添加的时候 可以给每个值设置一个分数 取值的时候 可以根据索引 取一个范围值的值

  6. 简单的记录一下redis的场景,概念  和操作5种数据类型(参考资料:http://www.runoob.com/redis/redis-sorted-sets.html)
posted on 2019-02-13 17:14  年少不知愁  阅读(239)  评论(0编辑  收藏  举报