首页 > 其他分享 >String(字符串)

String(字符串)

时间:2023-08-27 13:11:17浏览次数:33  
标签:127.0 String get 0.1 views 6379 字符串 integer

String(字符串)

字符串可以进行追加操作 使用 append命令

127.0.0.1:6379> 
127.0.0.1:6379> set v1 hello #添加一个键 v1
OK
127.0.0.1:6379> EXISTS v1  #查看v1 是否存在
(integer) 1
127.0.0.1:6379> get v`1
(nil)
127.0.0.1:6379> get v1 #读取v1的值
"hello"
127.0.0.1:6379> APPEND v1 word  #在v1后追加字符串 word 如果当前key不存在 那么就相当于 set key
(integer) 9
127.0.0.1:6379> get v1 #读取v1的值
"helloword"
127.0.0.1:6379>

也可以获取字符串 长度 strlen

127.0.0.1:6379> get v1
"helloword"
127.0.0.1:6379> STRLEN v1
(integer) 9
127.0.0.1:6379>

实现加一 、减一操作

127.0.0.1:6379> set views 0 #设置初始值是0
OK
127.0.0.1:6379> get views
"0"
127.0.0.1:6379> INCR views #将这个值加一
(integer) 1
127.0.0.1:6379> get views
"1"
127.0.0.1:6379> INCR views
(integer) 2
127.0.0.1:6379> get views
"2"
127.0.0.1:6379> DECR views  #将这个值减一
(integer) 1
127.0.0.1:6379> get views
"1"
127.0.0.1:6379> DECR views
(integer) 0
127.0.0.1:6379> DECR views
(integer) -1
127.0.0.1:6379> get views
"-1"
127.0.0.1:6379>

亦可以设置步长 使用INCRBY 和 DECRBY 来进行设置


127.0.0.1:6379> get views
"-1"
127.0.0.1:6379> INCRBY views 10
(integer) 9
127.0.0.1:6379> get views
"9"
127.0.0.1:6379> DECRBY views 5
(integer) 4
127.0.0.1:6379> get views
"4"
127.0.0.1:6379>

在字符串上指定区间截取字符,如果超出了字符串的长度 那么就会默认截取到字符串最后使用0 -1 这个区间就会显示原本的字符串 0 -几就是从后往前取值

127.0.0.1:6379> set k1
127.0.0.1:6379> set k1 hello,anjiayu
OK
127.0.0.1:6379> get k1
"hello,anjiayu"
127.0.0.1:6379> GETRANGE k1 0 4
"hello"
127.0.0.1:6379> get k1
"hello,anjiayu"
127.0.0.1:6379> GETRANGE k1  11 15
"yu"
127.0.0.1:6379> GETRANGE k1  11 20
"yu"
127.0.0.1:6379> GETRANGE k1  19 20
""
127.0.0.1:6379> GETRANGE k1  0 -2
"hello,anjiay"
127.0.0.1:6379> GETRANGE k1  0 -1
"hello,anjiayu"
127.0.0.1:6379> GETRANGE k1  0 -5
"hello,anj"
127.0.0.1:6379>

替换指定位置上的字符,替换的字符会自动向后填充 如果超过原本字符串的长度 也会继续填充

127.0.0.1:6379> set k2 abcdefg
OK
127.0.0.1:6379> get k2
"abcdefg"
127.0.0.1:6379> SETRANGE k2 2 xxx
(integer) 7
127.0.0.1:6379> get k2
"abxxxfg"
127.0.0.1:6379> SETRANGE k2 2 xxxxxxxxx
(integer) 11
127.0.0.1:6379> get k2
"abxxxxxxxxx"
127.0.0.1:6379>

设置过期时间和不存在时设置

#SETNX  在不存在时设置 如果在使用这个命令的时侯这个key不存在 那么会设置 key 如果存在的话 就不会设置这个key
#SETEX设置过期时间
127.0.0.1:6379> SETEX k3 30 an
OK
127.0.0.1:6379> get k3
"an"
127.0.0.1:6379> ttl k3
(integer) 21
127.0.0.1:6379>
127.0.0.1:6379> SETNX k4 redis
(integer) 1
127.0.0.1:6379> SETNX k4 java
(integer) 0
127.0.0.1:6379> get k4
"redis"
127.0.0.1:6379> keys *
1) "k1"
2) "k2"
3) "k4"
127.0.0.1:6379>

同时设置多个值

(empty list or set)
127.0.0.1:6379> MSET k1 v1 k2 v2 k3 v3 #设置多个值
OK
127.0.0.1:6379> MGET k1 k2 k3 #取出多个值
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> MSETNX k3 v33 k4 v4 #多个值的不存在时修改
(integer) 0
127.0.0.1:6379> MGET k1 k2 k3
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> MGET k1 k2 k3 k4
1) "v1"
2) "v2"
3) "v3"
4) (nil)
127.0.0.1:6379>

保存一个对象

#这里使用了一个非常巧妙的设计 使用user:{id}:{属性} 来当作key
127.0.0.1:6379> clear
127.0.0.1:6379> MSET user:1:name anjiayu user:1:age 18
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "anjiayu"
2) "18"
127.0.0.1:6379>

组合命令getset先get后set

127.0.0.1:6379> GETSET db redis #如果不存在返回null 设置新的值
(nil)
127.0.0.1:6379> get db
"redis"
127.0.0.1:6379> GETSET db mysql#如果在返回原有值 设置新的值
"redis"
127.0.0.1:6379> get db
"mysql"
127.0.0.1:6379>
 

标签:127.0,String,get,0.1,views,6379,字符串,integer
From: https://www.cnblogs.com/AnJiaYu/p/17660173.html

相关文章

  • NC20277 [SCOI2010]字符串
    题目链接题目题目描述lxhgww最近接到了一个生成字符串的任务,任务需要他把n个1和m个0组成字符串,但是任务还要求在组成的字符串中,在任意的前k个字符中,1的个数不能少于0的个数。现在lxhgww想要知道满足要求的字符串共有多少个,聪明的程序员们,你们能帮助他吗?输入描述输入数据是一......
  • Java字符串替换
    JavaStringreplaceAll详解总结:Java编译期\为转义符,运行期正则表达式\为转义符,正则表达式匹配\需使用\\。replace为普通字符串替换,replaceAll为正则表达式替换(第一个参数为正则表达式,第二个参数中\为转义字符,$为正则字符),第二个参数表示\需使用\\。示例:替换字符串中的""......
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
    文章目录前言`%~dp0`的含义扩展字符串从字符串中截取路径、文件名脚本传参for语法扩展总结 前言又是实际开发中的问题,想要截取一个文件路径中的盘符、文件名等信息,第一反应是正则表达式?或者是split函数?这些往往都是“高级”语言中才会有的实现方法,对于批处......
  • 2023-08-26 关于JSON.stringify会过滤调undefined值的问题 ==》在格式化之前先用type
    今天传参给后端的时候就发现了这么个问题,明明对象里面有这个字段a,但是打印出来死活没有,去掉json格式化后才发现是该值a为undefined,遂百度,故得知该值会被过滤掉。被过滤掉的原因是因为undefined值不符合JSON.stringify的规范。......
  • 两种不同的方法来检查Python中的变量是否是字符串
    在Python中,每个变量都有一个数据类型。数据类型表示一个变量内部存储的是哪种数据。数据类型是编程语言最重要的特征,它区分了我们可以存储的不同类型的数据,如字符串、int和float。在处理许多编程问题时,可能会遇到这样的情况:我们需要找到某个变量的数据类型来对其执行一些任务。......
  • JSON字符串的几种格式
    1.JSON数值{“key”:value}{"key":520,"key1":1314}2.JSON字符串{“key”:“value”}{"key":"我爱你","key1":"一生一世"}3.JSON数组{“key”:[value]}{"key":[520,1314]......
  • 大厂算法每日总结(GB字符串至少交换几次)
    //一个数组中只有两种字符'G'和'B',//想要所有的G都放左边,所有的B都放右边或者所有的B都放左边,所有的G都放右边//但只能在相邻字符之间进行交换操作//返回至少需要交换几次//方法1publicstaticintminSteps1(Strings){if(s==null||s.equals("")){return0;}......
  • 228. 汇总区间(stringstream)
    字符串处理:动态规划,双指针,栈,计数,字符串流 本题要将一个格式化的字符串容器作为答案,可利用双指针和stringstream来进行操作classSolution{public:vector<string>summaryRanges(vector<int>&nums){intn=nums.size();intl=0,r=0;......
  • 将中文字符串转换为拼音
    Python中可以使用第三方库pypinyin来将中文字符串转换为拼音。下面是一个示例代码:frompypinyinimportlazy_pinyinchinese_str="钱文敏"pinyin_str=''.join(lazy_pinyin(chinese_str))abbreviated_pinyin_str=chinese_str[0]+pinyin_strprint(abbreviated_pinyin_s......
  • 函数-字符串函数
      ......