首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Redis系统学习之五大基本数据类型(String(字符串))

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

作者头像
彼岸舞
发布2021-05-07 15:27:25
发布2021-05-07 15:27:25
5790
举报

String(字符串)

存入值
  • set key value
获取值
  • get key
追加值(如果key不存在,相对于新建set)
  • append key value
查看长度
  • strlen key
实现计数器(浏览量,播放量可以存redis,最后持久化到Mysql)
  • 累加
    • incr key
  • 累减
    • decr key
  • 设置带步长的累加和累减
  • incrby key number || decrby key number
截取字符窜
  • getrange key startindex endindex
  • 如果是-1,找不到就是全部的
替换字符串
  • setrange key startindex value
  • startindex 从哪个下标开始替换 根据value的值决定替换几个字符
设置过期时间
  • setex(set with expire)
  • setex key seconds value
    • 设置30秒过期
不存在再设置(分布式锁)
  • setnx(set if not exists)
  • setnx key value
    • 返回1代表设置成功,返回0代表设置失败,只有删除后,才可以重新设置
批量设值和批量取值
  • mset key value[k v循环,空格切分]
  • mget key[k循环,空格切分]
批量设值nx(原子的)
  • msetnx key value[k v循环,空格切分]
    • 一个失败全部失败
  • 没有mgetnx
先获取再设值
  • getset key value
  • 第一次没有,获取到是空的,并且把redis设值到db key->第二次是获取到redis并把Mongodb设值到db key
使用场景:
  • value除了可以是字符串之外也可以是数字
  • 常用的计数器,浏览量等都可以采用string来做
  • 对象JSON存储
  • 案例
    • 设计用户的粉丝数量,关注数量,浏览数量
    • uid:382893:粉丝数量 0 有人关注后就 incr 有人取关就 decr
    • uid:382893:关注数量 0
    • uid:382893:浏览数量 0
    • 每隔一段时间可以持久化到Mysql

作者:彼岸舞

时间:2021\05\05

内容关于:Redis

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-05-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • String(字符串)
    • 存入值
    • 获取值
    • 追加值(如果key不存在,相对于新建set)
    • 查看长度
    • 实现计数器(浏览量,播放量可以存redis,最后持久化到Mysql)
    • 截取字符窜
    • 替换字符串
    • 设置过期时间
    • 不存在再设置(分布式锁)
    • 批量设值和批量取值
    • 批量设值nx(原子的)
    • 先获取再设值
    • 使用场景:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档