- 使用shutdown命令的时候,会在关机的同时生成一个RDB文件,使数据不丢失。
- redis虽然有16个库,但是基本上只会用0库,用其他的库没有意义。集群只能在0号库做
- mysql的读写,大约为写入600笔/s,读2000笔/s
一、Redis全局命令
//1.查看所有键
keys *
//2.查看l开头的键值
keys l*
//查看所有键值的命令不推荐使用,因为键值太多了,有可能会造成redis的阻塞
//查看键总数,没新增一个key,都会 +1
dbsize
//查看键是否存在?
exists key
//删除键
del a
del a b c d //删除多个
//设置键的过期时间,单位S
expire a 18 //键A的过期时间18s
//查看键的数据类型
type key
//重命名键
rename keyName newKeyName//如果更新后的newKeyname已存在的话,那么原先的key的value会覆盖新的value
2、key的命名
比如:数据库:table:id
mall:order:1
set mall:order:20231116103859 //数据库mall,订单表order,单号:20231116103859
3、String数据类型
在redis中,key的类型都是String,不同的是value的数据类型。
redis中的String类型不是用的C中的String,而是自己实现的String.
setnx key value //不存在则set
mset key1 v1 key2 v2 key3 v3 //批量set
mget key1 key2 key3 //批量获取
incr key // +1操作,常用于自增
incr key 3 //+3操作
decr key //-1操作
append key value //字符串拼接
strlen key //返回字符串key的长度
注意:计数器可以用于计数器进行限流
4、Hash操作
key仍然是String类型,value是一个HashMap.
hash的命令格式如下:
hset mall:order:1 name jack age 30 gender male addr nanjing
hmset mall:order:1 name jack age 30 gender male addr nanjing
hdel mall:order:1 addr //删除hashmap中的某一个键值
hlen mall:order:1 //查看当前的key的value中有多少键值对
hmget mall:order:1 name age addr //获取hashMap中的value值
hexists mall:order:1 name //判断hashmap中这个name的键是否存在,存在返回1,不存在返回0
hkeys mall:order:1 //查询key的value中的所有的hash的键
hvals mall:order:1 //获取value中的所有的hash的value