首页 > 数据库 >redis的字符串String类型基本操作

redis的字符串String类型基本操作

时间:2022-09-25 22:58:33浏览次数:52  
标签:key 下标 String redis value ------------------- k1 设置 基本操作

1、首先连上你的redis

以下一些命令很简单,或者执行命令后效果也无法体现的就没有进行截图展示

2、String相关操作
-------------------设置值-------------------

设置指定key的值:set key1 100

提示:set设置已经存在的key,将会覆盖之前的值

只有在key不存在的时候,才能设置key的值:setnx k1 100good

如果k1已经存在,则设置不成功

设置值,且key有过期时间: setex k1 10 100

设置k1的值为100,且过期时间为10s

提示:setex如果设置的key已经存在,将会覆盖已有的值。

设置值,且key有过期时间,且时间粒度为毫秒:psetex k1 10000 100
设置k1的值为100,且过期时间为10000毫秒(10秒)

同时设置一个或多个key-value对:mset k3 300 k4 400

同时设置k3、k4的值

提示:mset设置已经存在的key,将会覆盖之前的值

同时设置很多的key,仅仅当这些key不存在时,msetnx k1 v1 k2 v2 k3 v3

提示:msetnx只有当设置的key都不存在时,此命令才会成功执行

将给定key的值设置为value,并返回key的旧值:getset k1 100new

提示:如果getset设置的key不存在,则返回的旧值为nil

给定offset下标,使用value值覆写key所存储的字符串值:setrange kk2 0 ok

提示:第三个参数为要开始覆写的开始下标,redis中字符串的下标从0开始
如果给定的下标大于key当前的value值,那么覆写后,中间留空。

-------------------设置值-------------------



-------------------获取值-------------------

获取指定key的值:get key1

获取多个给定key的值:mget k1 k2 k3 k4

k1、k2、k3、k4的值一次性得到

提示:当mget获取的key不存在时,将返回nil

返回key中字符串的指定开始下标,结束下标对应的子串:getrange kk1 0 1

提示:getrange的语法为:getrange key start end
当start下标已经大于key的value值的长度,那么返回的是空串

获取key所存储的字符串值的长度:strlen k1
-------------------获取值-------------------



将value追加到key原来的值的末尾:append k1 ok

将ok添加到k1原来值的末尾,相当于字符串拼接

如果是append一个不存在的key呢?如下图,会默认创建一个新key,且新key的值就是当前append的值

将key中存储的数字值加1:incr k1

提示:如果incr不是对一个数字型进行操作,将会报错:

将key中存储的数字值减1:decr k1

同样,如果不是对数字型操作,将会报错

将key所存储的值加上给定的增量值:incrby k1 10

将key所存储的值加上减去的增量值:decrby k1 10

提示:如果不是对数字型操作,且如果增量值(比如上面的数字10改为一个kk),都会报错

3、总结
一个Redis中字符串value最多是512M。

标签:key,下标,String,redis,value,-------------------,k1,设置,基本操作
From: https://www.cnblogs.com/szbm/p/16729266.html

相关文章

  • Typescript类型体操 - BEM style string
    题目中文Block,Element,Modifier方法(BEM)是CSS中类的流行命名约定。例如,块组件用btn表示,依赖于块的元素用btn__price表示,更改块样式的修饰符将用btn--big或者btn......
  • MySQL数据表的创建、修改、删除及基本操作
    1.在mysql中,可以使用 CREATETABLE 语句创建表。其语法格式为:转自:https://www.cnblogs.com/bigbigbigo/p/10917429.html/*建表的语法*/createtable[ifnotexist]......
  • Class<String> 还是 Class< ? extends String>
    Class还是Class<?extendsString>引出问题先上代码点击查看代码Class<String>class01=String.class;Class<?extendsString>class02="h......
  • MySQL数据库的创建、修改、删除及基本操作
    1.MySQL数据库的创建,语法格式如下:CREATEDATABASE[IFNOTEXISTS]<数据库名>[[DEFAULT]CHARACTERSET<字符集名>][[DEFAULT]COLLATE<校对规则名>];[]中的内......
  • 【Redis】Key过期了为什么内存没有释放
    SET除了可以设置key-value之外,还可以设置key的过期时间。  如果想要修改key的值,使用set命令,而没有加上过期时间的参数,那么这个key的过期时间将会被擦除。......
  • Redis持久化
    为了防止Redis宕机导致数据全部清空,所以有持久化操作 显然不能高频的生成RDB文件进行备份,毕竟数据多,而且操作耗时。所以需要将增删改的操作写进AOF文件 但是也不能......
  • 吉特日化MES & Redis 运行远程访问的配置
     在吉特日化MES系统部署实施过程中,经常需要配置Redis需要运行远程IP访问Redis。使用Redis的目的主要是为了解决缓存的问题,同时解决打印过程中推送数据的问题。......
  • Redis面试题
    1.项目中是否使用过redis?为什么要使用redis?使用过之前使用的都是修改某个value值,如登录账号被锁定30分钟,查看还剩余的时间,或者想将账号由锁定状态更新为未锁定状态,删......
  • Redis 基本操作
    字符串(Strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sortedsets)......
  • 简单测试C语言<string.h>中strerror(int errornum)能输出什么
    使用一个简单程序来验证一下:#include<stdio.h>#include<string.h>intmain(intargc,char*argv[]){for(inti=-5;i<50;i++)printf("errno[%2......