Redis初级命令

一、常用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

Guess you like

Origin blog.csdn.net/weixin_52526235/article/details/120378929