[转]Redis干货 | 五种常用类型之String字符串详解

一. 背景说明

小白:伟哥,java中String是最常用类型,Redis中也是吗?

伟哥:差不多,我给你稍微讲一下。

二. 数据类型

依据Redis官网,目前Redis数据类型共计九种。

图片

具体整理如下:

图片

常用的数据类型有:String、List、Set、Sorted set、Hash,在接下来的学习中,伟哥将介绍这五种类型的用法。

三. String-概述

String字符串是最基本的Redis数据类型,可以是字符串,包括json串,可以是数字,可以是图片二进制等,存储最大不超过512M。

图片

四. String-设值和取值

图片

Redis给我们提供的设值和取值命令,主要是set和get:

伟哥带你操作一波:

#设置值的命令 set key value
192.168.65.15:6379> set name zs
#操作成功,返回ok
OK

#获取用 get key
192.168.65.15:6379> get name
#get 成功则返回value值
"zs"

#get 若没有对应的key,则返回nil空
192.168.65.15:6379> get name1
(nil)
#批量设置值 mset key1 value1 key2 value2 ......
192.168.65.15:6379> mset name zs age 22
#操作成功,返回ok
OK

#批量获取值mget key1 key2 ......
192.168.65.15:6379> mget name age
#成功,则按获取顺序展示值
1) "zs"
2) "22"

#如果对应的key没有值,则返回nil
192.168.65.15:6379> mget name1 age
1) (nil)
2) "22"

五. String-操作补充

图片

添加字符串之后,我们可通过append追加内容,通过strlen获取字符串的长度,通过getrange截取字符串。

#具体操作过程如下: 
 #设置值
192.168.65.15:6379> set name zs  
#set成功返回
OK  

#获取值
192.168.65.15:6379> get name  
"zs"

#获取字符串的长度
192.168.65.15:6379> strlen name 
(integer) 2

#给name原对应的值追加ls
192.168.65.15:6379> append name ls  
#append追加成功后,返回字符串的总长度
(integer) 4  

192.168.65.15:6379> get name
"zsls"

#截取下标0-2的字符串
192.168.65.15:6379> getrange name 0 2  
"zsl"

#追加内容  中文:你好 
192.168.65.15:6379> append name 你好 
#一个中文占3个长度
(integer) 10  

六. String-数值增加减少操作

图片

如果value值表示数值时,可以对其value值进行增加和减少操作:

具体操作如下:

 #如果age不存在,则添加成1
192.168.65.15:6379> incr  age 
(integer) 1
192.168.65.15:6379> get age
"1"

#修改age值成1.1
192.168.65.15:6379> set age 1.1  
OK

#如果age的值为小数,则报错
192.168.65.15:6379> incr age 
(error) ERR value is not an integer or out of range

192.168.65.15:6379> set age 1 
OK

#整数增加5
192.168.65.15:6379> incrby age 5 
(integer) 6
192.168.65.15:6379> get age
"6"

 #incrby 只能增加整数,小数会报错
192.168.65.15:6379> incrby age 5.5 
(error) ERR value is not an integer or out of range

 #自减1
192.168.65.15:6379> decr age 
(integer) 5

 #age值减少2
192.168.65.15:6379> decrby age 2 
(integer) 3

 #用incrbyfloat来操作小数
192.168.65.15:6379> incrbyfloat age 1.1 
"4.1"

#用incrbyfloat来操作小数
192.168.65.15:6379> incrbyfloat age -1.1  
"3"

转自:Java架构栈

posted @ 2023-02-28 09:36  牵着毛驴唱着歌  阅读(61)  评论(0)    收藏  举报