• 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)
  • 相关阅读:
    redis key命名规范
    git修改commit作者名
    spring cloud 入门学习
    IDEA 插件大全
    2019 java中高级 面试题汇总
    Spring boot整合Mybatis【详细的一匹】
    MySQL存储过程
    HTTP状态码详解
    java 职业规划
    javaweb项目实现文件上传下载
  • 原文地址:https://www.cnblogs.com/920913cheng/p/10370873.html
Copyright © 2020-2023  润新知