一、常用key命令
# 查看所有key
keys *
# 查看key的类型
type key
# 返回状态1/0,True/False,当传入多个key时返回or的结果,即只要有一个存在就返回True:
exists key [key ...]
# 将key从当前db移动到另一个db返回1/0,True/False:
move key db_index
# 给指定的 key 设置过期时间,以秒或unix timestamp为单位:
expire key seconds
# 追加字符串
APPEND key
# 展示key的长度
strlen key
# 次数的增加
127.0.0.1:6379> set views 1
OK
127.0.0.1:6379> type views
string
127.0.0.1:6379> INCR views
(integer) 2
127.0.0.1:6379> type views
string
127.0.0.1:6379> INCRBY views 10
(integer) 12
127.0.0.1:6379>
127.0.0.1:6379> DECRBY views 200
(integer) -188
127.0.0.1:6379>
#重制数据库
127.0.0.1:6379> FLUSHDB
OK
127.0.0.1:6379>
二、String
# 截取字符串
127.0.0.1:6379> GETRANGE name 0 3
"zxni"
127.0.0.1:6379> GETRANGE name 1 3
"xni"
127.0.0.1:6379>
# 替换字符串
127.0.0.1:6379> SETRANGE name 1 111
(integer) 6
127.0.0.1:6379> get name
"z111ce"
127.0.0.1:6379> SETRANGE name 3 xxxxx
(integer) 8
127.0.0.1:6379> get name
"z11xxxxx"
127.0.0.1:6379>
# setex (set with expire) 设置过期时间
# setnx (set if not exist) 先判断key是否存在,存在进行set,不存在不产生影响
127.0.0.1:6379> keys *
1) "name"
127.0.0.1:6379> SETEX key1 20 "zhang"
OK
127.0.0.1:6379> SETNX key1 123
(integer) 1
127.0.0.1:6379> SETNX key1 zxc
(integer) 0
127.0.0.1:6379> keys *
1) "key1"
2) "name"
127.0.0.1:6379> get key1
"123"
127.0.0.1:6379>
# 同时设置多个值
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3\
OK
127.0.0.1:6379> keys *
1) "key1"
2) "k2"
3) "k3"
4) "k1"
5) "name"
# 同时取出多个值
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3\\"
# 同时利用setnx设置,其具有原子性,同成功,一个失败就失败
127.0.0.1:6379> MSETNX k1 v1 k3 v3 k4 v4
(integer) 0
127.0.0.1:6379> keys *
1) "key1"
2) "k2"
3) "k3"
4) "k1"
5) "name"
127.0.0.1:6379>
# 利用json字符串实现对象的创建
127.0.0.1:6379> set user:1 {name:zx,age:3}
OK
127.0.0.1:6379> keys *
1) "user:1"
2) "key1"
3) "k2"
4) "k3"
5) "k1"
6) "name"
127.0.0.1:6379> get user:1
"{name:zx,age:3}"
# 如果不存在值,则返回nil
# 存在值,则获取原来的值,输出,并重新设置值
127.0.0.1:6379> GETSET 111 123
(nil)
127.0.0.1:6379> GETSET 111 zxc
"123"
127.0.0.1:6379> get 111
"zxc"
127.0.0.1:6379>
三、List
# LPUSH 将一个值或者多个值,插入到头部,(左)
127.0.0.1:6379> LPUSH list 1
(integer) 1
127.0.0.1:6379> LPUSH list 2
(integer) 2
127.0.0.1:6379> keys *
1) "list"
# 通过区间获取list
127.0.0.1:6379> LRANGE list 0 1
1) "2"
2) "1"
# RIPUSH 将一个值或多个值,插入到尾部(右)
127.0.0.1:6379> RPUSH user zx
(integer) 1
127.0.0.1:6379> RPUSH user
(integer) 2
127.0.0.1:6379> LRANGE 0 1
(error) ERR wrong number of arguments for 'lrange' command
127.0.0.1:6379> LRANGE user 0 1
1) "zx"
2) ""
127.0.0.1:6379>
127.0.0.1:6379> LRANGE user 0 -1
1) "zx"
2) ""
3) ""
4) "zx"
# RPOP 删除底部的一个元素
127.0.0.1:6379> RPOP user
"zx"
# LPOP 删除头部的一个元素
127.0.0.1:6379> LPOP user
"zx"
127.0.0.1:6379> LRANGE user 0 -1
1) ""
2) ""
127.0.0.1:6379>
# 通过索引获取该值,从0开始
127.0.0.1:6379> LINDEX user 1
# 获取长度
127.0.0.1:6379> LLEN user
# 移除的元素 加数量
127.0.0.1:6379> LREM user 3 ""
# 保留区间内的内容,其余会被删除
127.0.0.1:6379> LTRIM user 3 4
# 将user的最后一个元素转移到otherUser中
127.0.0.1:6379> RPOPLPUSH user otherUser
# 执行修改操作
127.0.0.1:6379> LSET otherUser 0 ""
# 在xxx前/后 插入元素
127.0.0.1:6379> LINSERT otherUser before “” zx