一. 背景说明
小白:伟哥,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架构栈
标签:65.15,String,get,age,Redis,192.168,6379,干货,name From: https://www.cnblogs.com/xudong1990/p/17162802.html