redis默认有0-15总共16个库,默认在0库
1、选择库DB0,例:select 1 选择db1
10.143.153.216:8896> select 0
OK
2、查看所选择库的大小:
127.0.0.1:6379[0]> DBSIZE
(integer) 728
3、获取db0库的key为”city_中国,四川省,巴中市“的数据
127.0.0.1:6379[0]> get 'city_中国,四川省,巴中市'
"{\"top3\": [\"1991835250\", \"1951440060\", \"1900272894\"]}
4、删除特定的redis库的所有Key
127.0.0.1:6379> DBSIZE
(integer) 728
127.0.0.1:6379> flushdb # 删除上一步select选择的redis库
OK
5、删除所有数据库 (db0 ~ db15)的的所有Key
127.0.0.1:6379> flushall # 删除所有数据库
OK
6、Redis批量删除keys
redis-cli keys "id-of-product-*" | xargs redis-cli del
这里是直接在Linux的命令行中实现,
其中"id-of-product-*"是匹配这一类的key。
7、如果要访问 Redis 中特定的数据库,使用下面的命令
//下面的命令指定数据序号为0,即默认数据库
redis-cli -n 0 keys "*" | xargs redis-cli -n 0 del
//如果要指定 Redis 数据库访问密码,使用下面的命令
redis-cli -a password keys "*" | xargs redis-cli -a password del
注:keys 指令可以进行模糊匹配,但如果 Key 含空格,就匹配不到了,暂时还没发现好的解决办法
redis-cli -n “db” -h “ip” -p “port” keys ‘xxx*’ -a “password”redis-cli -n “db” -h 192.168.179.127 -p “port” keys ‘xxx*’ -a “password” del
8、其他操作如下:
xxxx-ssss$ redis-cli
127.0.0.1:6379> keys *获取键名(empty list or set)
127.0.0.1:6379> set name zhangsan 设置键名
OK
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> get name 获取键值
"zhangsan"
127.0.0.1:6379> set name lisi 设置键名
OK
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> get name 原键名被重新设置
"lisi"
127.0.0.1:6379> set age 18
OK
127.0.0.1:6379> keys *
1) "age"
2) "name"
127.0.0.1:6379> keys n* *代表任意字符
1) "name"
127.0.0.1:6379> keys *a*
1) "age"
2) "name"
127.0.0.1:6379> exists name 返回布尔值,查看是否存在这个键名
(integer) 1
127.0.0.1:6379> exists sex
(integer) 0
127.0.0.1:6379> del name 删除键名,对应的值也被删除
(integer) 1
127.0.0.1:6379> key *
(error) ERR unknown command `key`, with args beginning with: `*`,
127.0.0.1:6379> keys *
1) "age"
127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> expire name 20 设置键名20秒后失效,但是需要先set name。
(integer) 1
127.0.0.1:6379> ttl name 查看键名多长时间后失效
(integer) 15
127.0.0.1:6379> ttl name
(integer) -2
127.0.0.1:6379> keys *
1) "age"
127.0.0.1:6379>
其余操作:
move name 1 把键name移动到1库
persist name 把原来expire name 100 的指令改为 -1