ITPub博客

首页 > 数据库 > 数据库开发技术 > Redis干货 | 五种常用类型之String字符串详解

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

原创 数据库开发技术 作者:Finally_m 时间:2023-02-28 08:03:00 0 删除 编辑
关注Java架构栈,干货天天都不断哦!

一. 背景说明
小白:伟哥,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"
点击【阅读原文】,免费开始学习Redis视频课程!
- 千锋教育 -

近期课程上新:
Java基础 | Javaweb基础 | Java高级框架 | 微服务架构 | TiDB分布式数据库入门最佳实践 | VUE全面剖析及前后端联动实战 | 23种设计模式 | 企业级项目实战 | Java面试宝典

原文作者:Java架构栈;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2021-04-13

  • 博文量
    573
  • 访问量
    243797