Redis系统学习之五大基本数据类型(String(字符串))

String(字符串)

存入值

  • set key value
  • image

获取值

  • get key
  • image

追加值(如果key不存在,相对于新建set)

  • append key value
  • image

查看长度

  • strlen key
  • image

实现计数器(浏览量,播放量可以存redis,最后持久化到Mysql)

  • 累加
    • incr key
  • 累减
    • decr key
  • image
  • 设置带步长的累加和累减
  • incrby key number || decrby key number
  • image

截取字符窜

  • getrange key startindex endindex
  • 如果是-1,找不到就是全部的
  • image

替换字符串

  • setrange key startindex value
  • startindex 从哪个下标开始替换 根据value的值决定替换几个字符
  • image

设置过期时间

  • setex(set with expire)
  • setex key seconds value
    • 设置30秒过期
    • image

不存在再设置(分布式锁)

  • setnx(set if not exists)
  • setnx key value
    • 返回1代表设置成功,返回0代表设置失败,只有删除后,才可以重新设置
    • image

批量设值和批量取值

  • mset key value[k v循环,空格切分]
  • mget key[k循环,空格切分]
    • image

批量设值nx(原子的)

  • msetnx key value[k v循环,空格切分]
    • 一个失败全部失败
    • image
  • 没有mgetnx

先获取再设值

  • getset key value
  • 第一次没有,获取到是空的,并且把redis设值到db key->第二次是获取到redis并把Mongodb设值到db key
  • image

使用场景:

  • value除了可以是字符串之外也可以是数字
  • 常用的计数器,浏览量等都可以采用string来做
  • 对象JSON存储
  • 案例
    • 设计用户的粉丝数量,关注数量,浏览数量
    • uid:382893:粉丝数量 0 有人关注后就 incr 有人取关就 decr
    • uid:382893:关注数量 0
    • uid:382893:浏览数量 0
    • 每隔一段时间可以持久化到Mysql

作者:彼岸舞

时间:202155

内容关于:Redis

本文属于作者原创,未经允许,禁止转发

原文地址:https://www.cnblogs.com/flower-dance/p/14731088.html