Redis介绍,常用数据结构和命令

概念
  • 关系型数据库:是创建在关系模型继承上的数据库,借助于集合代数等数学概念和方法来处理数据中的数据,mysql属于关系型数据库
  • 非关系型数据库:NoSQL数据库,Redis属于非关系行数据库
Redis优点和缺点
  • 优点:redis使用内存存储,关系型数据库存储在磁盘,内存读取速度快
  • 缺点:内存成本高,不能大规模长时间存储
使用缓存场景
  • 多读少些:如购物车、商品详情页
存储类型
  • 字符串
  • 哈希表
  • 集合
  • 有序集合
  • 列表
使用缓存
  1. 选定数据结构
  2. 确定失效时间,失效时间有两类:永不过期、设置有效时间
  3. 存储
接口读取数据
  • 发起读取请求
    在这里插入图片描述
  • 发起更新数据请求
    在这里插入图片描述

为什么不先删缓存?

先删完缓存后在DB没有更新前可能会有请求进来,这个读到的是旧数据,setRedis也是旧的

mac下安装并连接远程redis
Redis基本命令行
  • string
    SET key value EX seconds 将字符串值value关联到key 并将键的过期时间设置为seconds
    SET key value NX 只在键不存在时,才对key进行设置操作
    SET key value XX 只在键已经存在时,才对键进行设置操作
    GET key 返回key的值value,否则key不存在返回特殊值nilGET命令只能用于字符串值
    INCR keykey存储的数字值加一,如果key不存在,那么它的value 会先被初始为0,然后再执行INCR命令,如果value 储存的值不能解释数字,那么INCR命令将返回一个错误
    DECR key key储存的数字值减一,如果键key不存在,那么key的值会先被初始化为0,如果value 储存的值不能解释数字,那么DECR命令将返回一个错误
  • Hash
    HSET website google “www.g.cn将哈希表hash中域field的值设置为value
    HGET homepage redis redis.com 返回域的value,如果不存在,返回nil
    HSET db redis redis.com 返回哈希表key中域的数量
    HDEL abbr a 删除域HK
  • 列表
    LPUSH mylist a b c list存入多个值
    LLEN mylist 返回list的长度
    LREM key count value 根据参数count的值,移除列表中与参数value相等的元素,count的值可以是以下几种:count>0 :从表头开始向表尾搜索;count<0从表位开始向表头搜索;count=0移除表中所有与 * value 相等的值
    LPOP mylist 移除并返回列表
    key的头元素
    LINDEX mylist index 返回列表
    key中,下标为index的元素
    LSET mylist index value 将列表
    key下标为index的元素的值设置为value*
    EXISTS list 检查key是否存在
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值