当前位置:   article > 正文

redis常用命令_redis查看用户列表

redis查看用户列表

文章目录


前言

redis版本7.0.5
reids安装案例
redis中文网命令参考
redis官方命令参考
redis在线测试


一、常用命令

1.服务启动和连接

1.1启动服务端

redis-server
  • 1

1.2启动服务端

redis-cli
  • 1

1.3客户端ping测试和服务端连接

返回PONG,连接正常

ping
  • 1

1.4清屏

clear
  • 1

1.5获取配置参数

config get port
  • 1

2.数据库

2.1选择数据库

select 0
  • 1

2.2当前数据库key数量

dbsize
  • 1

2.3清空数据库

flushdb
  • 1

3.key

3.1查看所有key

redis的key要保证唯一

keys *
  • 1

3.2添加key值

set user zhangjg
  • 1

ex到期时间,单位秒 不设置默认-1,永久有效

set user zhangjg ex 3
  • 1

3.3获取key值

get user
  • 1

3.4查询key是否存在

exists user
  • 1

3.5获取key存储类型

type user
  • 1

3.6删除key

del user
  • 1

3.7设置key到期时间(单位:秒)

set user zhangjg
expire user 3
  • 1
  • 2

二合一

set user zhangjg ex 3
setex user 3 zhangjg
  • 1
  • 2

3.8查看key有效的秒数

-2代表key已过期

ttl user
  • 1

3.9添加多个key值

mset a 1 b 2 c 3
  • 1

3.10获取多个key值

mget a b c
  • 1

3.11设置分布式锁

setnx user zhangjg
  • 1

3.12删除分布式锁(释放锁)

del user
  • 1

3.13设置分布式锁过期时间

set user zhangjg nx ex 10
  • 1

3.14批量删除

在服务器上执行,pass是密码,1选择数据库,keys*匹配要删除的key

redis-cli -a pass -n 1 keys "keys*"|xargs redis-cli -a pass -n 1 del
  • 1

4.Transactions(事务)

4.1开启事务

multi后续执行的命令会放到QUEUED中,直到遇到exec或者discard事务才会结束

multi
  • 1

4.2执行事务

执行QUEUED中的命令

exec
  • 1

4.3丢弃事务

QUEUED中的命令将不会执行,事务结束

discard
  • 1

4.4监听key(乐观锁)

左客户端获取到锁先执行成功,右客户端获取锁时发现值已经改变,执行失败。

watch user
  • 1

在这里插入图片描述

4.5解除监听key

watch和unwatch要在事务开启之前执行

unwatch
  • 1

5.acl

6.0之后的版本可以使用

5.1查看用户列表

#全部用户
acl users
  • 1
  • 2
#更多信息
acl list
  • 1
  • 2

包含用户启用、是否需要密码、权限类型
在这里插入图片描述

5.2添加用户

acl setuser zhangjg
  • 1

带密码,带权限

#生成密码
acl genpass
#添加用户(~*:可以获取所有的key;&*:可以访问所有的通道;+@all:可以执行所有命令)
acl setuser zhangjg on >21797d7480c1270b848a1524128671b31dcad0725762cf41cc81c21e15fa35b2  ~* &* +@all
  • 1
  • 2
  • 3
  • 4

更多权限规则参考

5.3查看用户

acl getuser zhangjg
  • 1

5.4切换用户

auth zhangjg 21797d7480c1270b848a1524128671b31dcad0725762cf41cc81c21e15fa35b2
  • 1

5.5删除用户

acl deluser zhangjg
  • 1

5.6查看当前用户

acl whoami
  • 1

二、常用数据类型

官方文档

1.string(字符串)

1.1添加值

set user zhangjg
  • 1

key存在时,不再添加

setnx user zhangjunguo
  • 1

1.2获取值

get user
  • 1

设置新值,返回结果为之前的旧值

set age 20
getset age 21
get age
  • 1
  • 2
  • 3

1.3获取值长度

strlen user
  • 1

1.4自增(incr)

默认自增1

set age 0
incr age
get age
  • 1
  • 2
  • 3

自定义自增值

incrby age 2
  • 1

1.5自减(decr)

默认自减1

decr age
get age
  • 1
  • 2

自定义自减值

decrby age 2
  • 1

1.6追加值(append)

append a 0
  • 1

1.7截取字符串

类似于substr,包含尾部

substr user 0 4
getrange user 0 4
  • 1
  • 2

1.7替换字符串

类似于replace,从下标开始处替换

set a 101010
setrange a 2 **
get a
  • 1
  • 2
  • 3

注意:当字符串长度小于下标值的时候,该命令会进行补0的操作

set a 101010
setrange a 10 **
get a
  • 1
  • 2
  • 3

2.list(列表)

2.1入队

lpush l1 a1 b1 c1
rpush r1 a1 b1 c1
  • 1
  • 2

2.2获取指定范围元素

-1代表列表的最后一个元素

lrange l1 0 -1
lrange r1 0 -1
  • 1
  • 2

2.3获取列表元素数量

llen l1
  • 1

2.4出队

出队的元素在列表中就移除了,不加数量默认取出一个

lpop l1
rpop r1
  • 1
  • 2

根据count取出多个值

lpop l1 3
rpop r1 3
  • 1
  • 2

2.5索引

通过索引获取元素

lindex l1 0
  • 1

通过索引替换当前元素值

lset l1 0 d11
  • 1

2.6删除元素

0的位置代表要删除的数量,0表示删除所有值匹配的元素

lrem l1 0 d11
  • 1

2.7插入元素

在元素之前或之后插入元素

lpush l1 a1 b1
linsert l1 before b1 b1before
linsert l1 after b1 b1after
lrange l1 0 -1
  • 1
  • 2
  • 3
  • 4

3.set(集合)

3.1插入元素

sadd s1 sss ssr
  • 1

3.2获取元素(全部)

smembers s1
  • 1

3.3获取元素数量

scard s1
  • 1

3.4值是否存在集合中

1:存在,0:不存在

sismember s1 sss
  • 1

3.5元素删除

1:成功,0:失败

srem s1 sss
  • 1

3.6差集

a1有的,a2没有

sadd s1 a1 b1 c1
sadd s2 c1
sdiff s1 s2
  • 1
  • 2
  • 3

将差集结果存到目标集合中

sdiffstore s1diffs2 s1 s2
smembers s1diffs2
  • 1
  • 2

3.7交集

a1有的,a2也有的

sinter s1 s2
  • 1

将交集结果存到目标集合中

sinterstore s1sinters2 s1 s2
smembers s1sinters2
  • 1
  • 2

3.8并集

a1有的和a2有的加一块

sadd s2 d1
sunion s1 s2
  • 1
  • 2

将交集结果存到目标集合中

sunionstore s1sunions2 s1 s2
smembers s1sunions2
  • 1
  • 2

3.9删除并获取元素

sadd s1 a1 b1 c1
spop s1
  • 1
  • 2

取出给定数量的元素

spop s1 3
  • 1

4.hash(哈希)

特别适合存储对象

4.1添加元素

设置单个属性

hset user:1000 name "root"
  • 1

设置多个属性

hmset user:1001 id "1001" name "zhangjg" email "zhangjg@qq.com"
  • 1

当field不存在时,新增键值对

hsetnx user:1001 id 1002
  • 1

4.2获取元素

4.2.1获取单个属性
hget user:1000 name
  • 1
4.2.2获取多个属性
hmget user:1001 id  name email
  • 1
4.2.3获取所有field
hkeys user:1001
  • 1
4.2.4获取所有value
hvals user:1001
  • 1
4.2.5获取整个对象的全部键值对
hgetall user:1001
  • 1

4.3判断field是否已经存在

1:存在,0:不存在

hexists user:1001 id
  • 1

4.4获取field数量

hlen user:1001
  • 1

4.5获取value长度

hstrlen user:1001 name
  • 1

4.6自增或自减

hincrby user:1001 id 2
hincrby user:1001 id -2
  • 1
  • 2

4.7遍历所有键值对

hscan user:1001 0
  • 1

4.8删除field

hdel user:1001 address
  • 1

5.Sorted Sets(有序集合)

5.1添加元素

zadd lan 1 c
  • 1

添加多个元素

zadd lan 1 c 5 c++  20 c# 30 java 55 php 80 python
  • 1

5.2获取元素(withscores分数)

根据元素,获取分数

zscore lan python
  • 1

从小到大,从大到小(查看所有元素和分数信息)

zrange lan 0 -1 withscores
zrevrange lan 0 -1 withscores
  • 1
  • 2

取出最小值,取出多次最小值

zpopmin lan
zpopmin lan 3
  • 1
  • 2

取出最大值,取出多次最大值

zpopmax lan
zpopmax lan 3
  • 1
  • 2

5.3删除元素

删除单个元素,删除多个元素

zrem lan c++
zrem lan c++ php
  • 1
  • 2

根据分数删除范围内元素(含头,含尾),根据索引删除范围内元素(含头,含尾)

zremrangebyscore lan 3 20
zremrangebyrank lan 0 1
  • 1
  • 2

5.4获取元素数量

zcard lan
  • 1

5.5获取分数范围内元素个数

zcount lan 1 20
  • 1

5.6分数自增和自减

zincrby lan 2 c
zincrby lan -2 c
  • 1
  • 2

5.7元素在集合中的索引

zrank lan c++
  • 1

5.8字典顺序排序(分数相同)

正序:以ASCII字符集的顺序进行排列(a-z,A-Z)
-最小值,+最大值

zadd zset 0 a 0 b 0 abc 0 e 0 d 0 z
zrangebylex zset - +
  • 1
  • 2

根据[min [max元素获取范围数据(含头,含尾)

zrangebylex zset [a [b
  • 1

根据[min (max元素获取范围数据(含头,不含尾)

zrangebylex zset [a (b
  • 1

limit:分页(起始位置,元素数量)

zrangebylex zset - +  limit 2 2
  • 1

5.9字典顺序排序(分数相同)

倒序:以ASCII字符集的顺序进行排列(z-a,Z-A)
-最小值,+最大值

zadd zset 0 a 0 b 0 abc 0 e 0 d 0 z
zrevrangebylex zset + -
  • 1
  • 2

根据[max [min元素获取范围数据(含头,含尾)

zrevrangebylex zset [b [a
  • 1

根据[max (min元素获取范围数据(不含头,含尾)

zrevrangebylex zset (b [a
  • 1

limit:分页(起始位置,元素数量)

zrevrangebylex zset + - limit 2 2
  • 1

5.10字典顺序删除元素(分数相同)

删除z开头的元素

zremrangebylex zset [z +
  • 1

删除a-d中间的元素(含头,包含尾d,不包含dd这样的元素排序在d之后,所以d后面有内容的元素是不在删除范围之内的)

zremrangebylex zset [a [d
  • 1

总结

redis命令参考里面描述的很详细。
在这里插入图片描述

在这里插入图片描述
redis中文网翻译过来和官方如出一辙,向前辈致敬。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/571009
推荐阅读
相关标签
  

闽ICP备14008679号