当前位置: 首页 > news >正文

Redis-字符串(String)类型

键(key)

  • 显示所有存入的key
keys *
  • 判断某个key是否存在
exists key
  • 移出当前库
move key db 
  • 为key设置过期时间
expire key 秒钟
  • 查看还有多少秒过期,-1表示永不过期,-2表示已过期
ttl key
  • 查看key的类型
type key
  • 删除指定的key数据
del key
  • 根据value选择非阻塞删除。仅将key从keyspace数据中删除,真正的删除会在后续异步操作
unlink key

String介绍

  • string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value,value最多可以是512M
  • string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象

基本命令

1. 添加键值对

  • NX:当数据库中key不存在时,可以将key-value添加数据库,已存在返回0不存在返回1
  • XX:当数据库中key存在时,可以将key-value添加数据库,与NX参数互斥
  • EX:key的超时秒数。在 key 不存在时进行 SETEX,key 已经存在时,SETEX 覆盖旧值
  • PX:key的超时毫秒数,与EX的区别仅在于时间单位
set   <key> <value>
setex  <key> <过期时间> <value>

2. 查询对应键值

get   <key>

3. 将给定的<value> 追加到原值的末尾

append  <key> <value>

4. 获得值的长度

strlen  <key>

5. 只有在 key 不存在时才设置 key 的值

setnx  <key> <value>
#等价于
sex <key> <value> nx

6. 数字进行加减

  • 将 key 中储存的数字值增1,只能对数字值操作,如果为空,新增值为1
  • 将 key 中储存的数字值减1,只能对数字值操作,如果为空,新增值为-1
  • Incr是执行原子的加1操作
incr  <key>
decr  <key>#自定义步长
incrby / decrby  <key> <步长>

7. 原子操作是指不会被线程调度机制打断的操作

  • 这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程)
  • 在单线程中, 能够在单条指令中完成的操作都可以认为是"原子操作",因为中断只能发生于指令之间
  • 在多线程中,不能被其它进程(线程)打断的操作就叫原子操作
  • Redis单命令的原子性主要得益于Redis的单线程

8. 同时设置一个或多个 key-value对

mset  <key1> <value1> <key2> <value2> ...

9. 同时获取一个或多个 value

mget  <key1> <key2> <key3> ...

10. 同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在

  • 原子性,有一个失败则都失败
msetnx <key1> <value1> <key2> <value2> ...

11. 获得值的范围,类似java中的substring

  • 索引从0开始
  • 从零到负一表示全部
getrange  <key> <起始位置> <结束位置>

12. 用 <value>  覆写<key>所储存的字符串值,从<起始位置>开始

setrange  <key> <起始位置> <value>

13. 设置新值,同时获得旧值

getset <key> <value>

数据结构

  • String的数据结构为简单动态字符串(Simple Dynamic String,缩写SDS)。是可以修改的字符串
  • 内部结构实现上类似于Java的ArrayList,采用预分配冗余空间的方式来减少内存的频繁分配
  • 内部为当前字符串实际分配的空间capacity一般要高于实际字符串长度len
  • 当字符串长度小于1M时,扩容都是加倍现有的空间,如果超过1M,扩容时一次只会多扩1M的空间
  • 需要注意的是字符串最大长度为512M

应用场景

  • 抖音无限点赞某个视频或者商品,点一下加一次
incr item
  • 文章阅读数
http://www.dtcms.com/a/467176.html

相关文章:

  • 网站建设分工个人网站建设方案策划书
  • 设计服务网站thinkphp网站开发教程
  • Python中的鸭子类型:理解动态类型的力量
  • c++左值与右值(自写)
  • 保定网站建设的过程ui设计包括什么
  • 网站和数据库工业园网站建设
  • NAS 上的轻量级 RSS 阅读器,支持多种提要,还能自动嗅探
  • 怎么进行网站维护怎么建自己的网址
  • NNDL 作业三
  • 【第三方网站代码登记测试_HTTP头语法代码详解】
  • 怎样建设网站卖农产品dede网站地图制作
  • 【双机位A卷】华为OD笔试之【模拟】双机位A-新学校选址【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
  • 变化型网站网站开发公司 网站空间
  • TDengine 数学函数 ASIN() 用户手册
  • Mysql初阶第五讲:Mysql基本查询
  • 百讯科技网站建设小米应用商店下载
  • 西青集团网站建设wordpress获取网址
  • 做网站 360的好不好公司介绍文案
  • 中英文网站前端怎么做页游源码论坛
  • asp.net程序做的网站安全吗江苏 江苏省住房和城乡建设厅网站
  • 用vs2010做免费网站模板下载地址怎么查询百度收录情况
  • 哪些品牌的实验室移液器值得推荐?如何选择合适的品牌?
  • 网站建设方案图房地产项目营销策划方案
  • 网站制作视频教程新手必看海南建设培训与执业中心网站
  • 购物优惠券网站怎么做深圳网域官网
  • 温州建设银行官方网站西部数码网站管理助手v3.0
  • EHOME视频平台EasyCVR构建全协议、全场景融合的视频监控中枢
  • [数据结构]堆
  • 网站开发应聘问题我想找工作没学历
  • 网站建设指导人员优化方案