数据类型:字符串类型(string)
# 1. 设置一个key-value set key value # 2. 获取key的值 get key # 3. key不存在时再进行设置(nx) set key value nx # 4. 设置过期时间(ex) 过了日期就自动销毁ex秒 px毫秒 set key value ex seconds # 5. 同时设置多个key-value mset key1 value1 key2 value2 key3 value3 # 6. 同时获取多个key-value mget key1 key2 key3
# 1.获取长度 strlen key # 2.获取指定范围切片内容 getrange key start stop # 3.从索引值开始,value替换原内容 setrange key index value # 4.追加拼接value的值
# 整数操作 INCRBY key 步长(数值+?) DECRBY key 步长(数值-?) INCR key : +1操作 DECR key : -1操作 # 应用场景: 抖音上有人关注你了,是不是可以用INCR呢,如果取消关注了是不是可以用DECR # 浮点数操作: 先转为数字类型,然后再进行相加减,不能使用append incrbyfloat key step
127.0.0.1:6379> mset wang:email wangweichao@tedu.cn guo:email guods@tedu.cn OK 127.0.0.1:6379> mget wang:email guo:email 1) "wangweichao@tedu.cn" 2) "guods@tedu.cn" 127.0.0.1:6379>
# key值取值原则 1、key值不宜过长,消耗内存,且在数据中查找这类键值的计算成本高 2、不宜过短,可读性较差 # 值 1、一个字符串类型的值最多能存储512M内容
string命令汇总
# 字符串操作 1、set key value 2、set key value nx 3、get key 3、mset 4、mget 5、set key value ex seconds 6、strlen key # 数字操作 7、incrby key 步长 8、decrby key 步长 9、incr key 10、decr key 11、incrbyfloat key number#(number可为正数或负数) # 设置过期时间的两种方式 # 方式一 1、set key value ex 3 # 方式二 1、set key value 2、expire key 5 # 秒 3、pexpire key 5 # 毫秒 # 查看存活时间 ttl key # 删除过期 persist key # 返回旧值并设置新值(如果键不存在,就创建并赋值) getset key value
通用命令 适用于所有数据类型
# 切换库(number的值0-15之间的数字 db0-db15) select number # 查看键 keys * keys 表达式* #keys * keys user* (user开头的键) # 键类型 TYPE key # 键是否存在 exists key # 删除键 del key # 键重命名 rename key newkey # 清除当前库中所有数据(慎用) flushdb # 清除所有库中所有数据(慎用) flushall
练习:
1、查看 db0 库中所有的键
select 0
keys *
2、设置键 trill:username 对应的值为 user001,并查看
set trill:username 'user001'
3、获取 trill:username 值的长度
strlen trill:username
4、一次性设置 trill:password 、trill:gender、trill:fansnumber 并查看(值自定义)
mset trill:password '123456' trill:gender 'm' trill:fansnumber 10
mget trill:password trill:gender trill:fansnumber
5、查看键 trill:score 是否存在
exists trill:score
6、增加10个粉丝
incrby trill:fansnumber 10
7、增加2个粉丝(一个一个加)
incr trill:fansnumber
incr trill:fansnumber
8、有3个粉丝取消关注你了
decrby trill:fansnumber 3
9、又有1个粉丝取消关注你了
decr trill:fansnumber
10、思考、思考、思考...,清除当前库
flushdb
11、一万个思考之后,清除所有库
flushall