• Redis


    1.什么是Redis

    Redis是一个用C语言编写, 开源高性能非关系型(NoSQL)的键值对数据库
    Redis五种基本数据类型

    2 Redis为什么这么快

    • 数据存在内存中: 内存的读写操作是磁盘(数据库)的一百倍左右
    • 使用C语言实现: C语言更底层, 执行速度更快
    • 单线程执行
      • 没有多线程竞争锁的性能消耗。
      • 没有多线程导致的切换而消耗CPU

    3.Redis有哪些数据类型

    3.1 string

    3.1.1 可以存储的值

    • 字符串
    • 整数
    • 浮点型

    当我们将整数、浮点数存储为String类型时, Redis会将其转换为字符串形式(浮点数不会发生精度丢失)

    3.1.2 操作

    • 对字符串或者字符串的一部分进行操作
    • 对整数、浮点数执行自增或者自减操作

    3.1.3 命令

    • 基本操作
      • set (key) (value):设置键值对
      • setnx (key) (value):设置键值对(防止覆盖)
        • 如果key存在, 不设置, 返回0
        • 如果key不存在, 设置, 返回1
      • get(key): 获取key对应的value
      • getset (key) (value): 先get再set, 返回旧值, 如果没有旧值则返回nil
      • append (key) (value): 向指定的key的value后追加字符串
      • del (key): 删除key
      • strlen (key): 获得key对应值的字符串的长度
    • 数字value的加减
      • incr (key) :value + 1
      • decr (key):value - 1
      • incrby (key) (number):value + number
      • decrby (key) (number):value - number
    • 获取或者设置指定范围内的值
      • getrange (key) (begin) (end) :获取[begin,end]下标范围内的值,如果是(0,1)就是获取所有值
      • setrange (key) (begin) (xxxx) :从begin下标开始设置xxx值,将原有的替换掉
    • 设置键值过期时间
      • setex (key) (seconds) expire:设置键过期时间
      • ttl (key) :查看key剩余存活时间
    • 同时设置或获取多个key-value
      • mset (key1) (value1) (key2) (value2) :用于同时设置一个或多个 key-value 对
      • mget (key1) (key2) :返回所有(一个或多个)给定 key 的值(如果某个key不存在,不存在的key返回null)
      • msetnx(key1) (value1) (key2) (value2) :当所有 key 都成功设置,返回 1 。 如果有一个key设置失败,所有的key设置都会失败,返回 0 。原子操作

    3.1.4 使用场景

    1.缓存
    最常见的使用场景, 主要得益于其高性能(内存操作)、灵活的数据结构(支持5种结构)等等

    • 频繁读取的数据库查询: 当某个数据库查询被频繁执行, 可以将查询结果缓存到Redis中, 较少对数据库的访问
    • 会话缓存: 将用户会话存储到Redis中, 特别是大规模的web应用, 这可以提高会话管理的性能和可扩展性
    • 用户身份证验证信息缓存: 缓存用户的身份证令牌或者其他身份验证信息, 减少身份验证请求对数据库的负担
    • 页面内存缓存: 对于动态生成的页面内容, 可以将完整的HTML缓存到Redis中, 降低渲染时间, 提高网站性能

    哪些内容适合进行缓存

    • 频繁访问: 通常是应用中频繁访问的数据
    • 相对稳定: 在一段时间内不经常变化
    • 持续时间长: 通常具备较长的生命周期

    2.计数器
    Redis是基于内存的键值对存储系统, 读写速度非常快, 性能很高, 能以非常低的延迟处理大量的计数请求, 同时Redis是单线程的, 一个命令执行完才会执行下一个, 不会出现线程安全问题

    • 网站访问计数: 统计网站、特定页面的点击次数, 每当用户访问网站或点击某个页面时, 通过Redis的INCR递增
    • 用户行为计数: 跟踪用户在应用中的各种行为, 例如发布文章、点赞、评论等. 对每种行为创建一个计数器, 可以方便记录用户活动
    • 实时统计: 在实时应用中,需要快速地获取某个指标的实时统计数据,例如活跃用户数、实时销售额等。使用Redis的计数器可以很容易地实现这些实时统计。

    3.session共享
    session + redis实现session共享

    4.Redis实现Session共享

  • 相关阅读:
    DRM全解析 —— encoder详解(2)
    价值驱动的数字化转型
    (附源码)app校园购物网站 毕业设计 041037
    不会接口测试?用Postman轻松入门(八上)——请求结果断言方法
    纸条折痕问题
    高校成绩管理数据库系统的设计与实现
    UE4 C++ 常用节点
    类与对象(二)
    门店管理软件挑选的干货、门店管理软件、门店管理软件怎么挑才能不踩雷
    蓝桥杯系列7——idle改装
  • 原文地址:https://blog.csdn.net/qq_24099547/article/details/136487255