安装与下载
解决第一次客户端闪退
Redis 的基本操作
信息添加
功能:设置 key,value 数据
命令
set key value
范例
set name itheima
Redis 的基本操作
功能:根据 key 查询对应的 value,如果不存在,返回空(nil)
get key
get name
信息查询
命令
范例
清除屏幕信息
功能:清除屏幕中的信息
命令
clear
退出客户端命令行模式
功能:退出客户端
命令
quit
exit
<ESC>Redis 的基本操作
帮助
功能:获取命令帮助文档,获取组中所有命令信息名称
命令
help 命令名称
help @组名
string
String的基本操作
1.getset
127.0.0.1:6379> mset a 1 b 2 c 3
OK
127.0.0.1:6379> get a
"1"
127.0.0.1:6379> get b
"2"
127.0.0.1:6379> get c
"3"
127.0.0.1:6379> set b 6
OK
127.0.0.1:6379> get b
"6"
127.0.0.1:6379> mget a b c
1) "1"
2) "6"
3) "3"
127.0.0.1:6379> mget a w c
1) "1"
2) (nil)
3) "3"
127.0.0.1:6379> set age 200
OK
127.0.0.1:6379> strlen name
(integer) 7
127.0.0.1:6379> get name
"itheima"
127.0.0.1:6379> append age 300
(integer) 6
127.0.0.1:6379> get age
"200300"
127.0.0.1:6379> append mn
(error) ERR wrong number of arguments for 'append' command
127.0.0.1:6379>
2.incr decr
string 类型数据的扩展操作
设置数值数据增加指定范围的值
incr key
incrby key increment
incrbyfloat key increment
设置数值数据减少指定范围的值
decr key
decrby key increment
127.0.0.1:6379> set num 1
OK
127.0.0.1:6379> incr num
(integer) 2
127.0.0.1:6379> get num
"2"
127.0.0.1:6379> get num
"2"
127.0.0.1:6379> decr num
(integer) 1
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> help incrby
INCRBY key increment
summary: Increment the integer value of a key by the given amount
since: 1.0.0
group: string
127.0.0.1:6379> incrby num 10
(integer) 11
//负数的减法效果
127.0.0.1:6379> incrbyfloat num -5
"7.5"
string 作为数值操作
1.string在redis内部存储默认就是一个字符串,当遇到增减类操作incr,decr时会转成数值型进行计算。
2.redis所有的操作都是原子性的,采用单线程处理所有业务,命令是一个一个执行的,因此无需考虑并发带来的数据影响。
注意:按数值进行操作的数据,如果原始数据不能转成数值,或超越了redis 数值上限范围,将报错。
9223372036854775807(java中long型数据最大值,Long.MAX_VALUE)
设置数据具有指定的生命周期
//再次设置会覆盖(重置)时长
setex key seconds value
psetex key milliseconds value
string 类型数据操作的注意事项
数据操作不成功的反馈与数据正常操作之间的差异
① 表示运行结果是否成功
(integer) 0 → false 失败
(integer) 1 → true 成功
② 表示运行结果值
(integer) 3 → 3
3个
③ (integer) 1 → 1
1个
④ 数据未获取到
(nil)等同于null
⑤ 数据最大存储量
512MB
⑥ 数值计算最大范围(java中的long的最大值)
9223372036854775807
string 类型应用场景
在redis中为大V用户设定用户信息,以用户主键和属性值作为key,后台设定定时刷新策略即可
eg:
user:id:3506728370:fans
→ 12210947
eg:
user:id:3506728370:blogs → 6164
eg:
user:id:3506728370:focuss → 83
在redis中以json格式存储大V用户信息,定时刷新(也可以使用hash类型)
eg:
user:id:3506728370 →
{"id":3506728370,"name":"春晚","fans":12210862,"blogs":6164, "focus":83}