当前位置:   article > 正文

Redis学习(二)数据存储类型——String_readis string存储的元素类型

readis string存储的元素类型

String基本操作

添加、修改数据

  1. set key value // 添加单个 key value
  2. mset key1 value1 key2 value2 ... //添加多个 key value

获得数据

  1. get key //获得单个数据
  2. mget key1 key2 //获得多个数据

删除数据

del key

*注意:在Redis中操作成功返回的是(integer)1 , 操作失败返回的是(integer)0

获得数据字符个数(相当于string.length)

strlen key

追加信息到原始信息后面(存在就追加,不存在就新建)

append key value

 

单指令操作和多指令操作的选择(例mset和set)

如果单指令操作返回时间很久、单指令包含的数据量很大,那么就采用拆分进行单指令操作

如果单指令操作的返回时间很快、单指令包含得数据量小,那么就可以采用多指令操作

 

String扩展操作

场景1:

当数据库数量增加到一定程度时,我们会采用分库分表的策略,如果我们的主键生成策略是Auto_Increment策略时,并发量到达一定程度时可能就会出现相同主键的情况。

解决方式:

redis是单线程的,Redis的操作是原子性的,让Redis来控制id的生成方式,保证数据的唯一性

对数值进行操作:

增加

  1. incr key // 对指定keyvalue+1
  2. incrby key increment // 对指定keyvalue+increment(只能为整数)的值
  3. incrbyfloat key increment // 对指定keyvalue+increment(可以为小数)的值

减少

  1. decr key // 对指定keyvalue值-1
  2. decrby key increment // 对指定keyvalue值-increment(可以为小数)的值

场景2:

微信投票功能,每天只能投一票

解决方式:

使用Redis的数据生命周期

设置数据具有指定的生命周期:

  1. setex key seconds value // 设置key的值为value值且在seconds秒后消失
  2. psetex key millseconds value // 设置key的值为value值且在millseconds毫秒后消失

问题3:

微博点赞功能,实时显示热点数据点赞数

解决方式1:

以 user:id:fans:20来表示 user表示用户,id表示用户id数据,fans表示显示得字段,20表示数据值,不用查数据库,加载速度很快。

约定key一般以 表名:主键名:主键值:字段名 得形式存放

解决方式2:

以Json字符串得形式存储在Redis中,快速返回

 

String的运行结果分析

  • 操作是否成功
  1. (integer) 0 // 表示false
  2. (integer) 1 // 表示true
  • 表示影响的行数
(integer) 3 表示影响了三个数据(例如del key1 key2 key3
  • 数据没有查询到
(nil) null 表示没有查询到
  • 成功新建
OK

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/49780
推荐阅读
相关标签
  

闽ICP备14008679号