Redis

关注公众号 jb51net

关闭
首页 > 数据库 > Redis > Redis 命令集

Redis常用命令集的使用

作者:kerwin_code

作为一名Redis开发者或管理员,熟练掌握Redis的常用命令是必不可少的,本文主要介绍了Redis常用命令集的使用,具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

一、redis-cli连接redis服务

1.1 无密码本地登录

# 无密码登录
redis-cli
# 如果需要验证可以使用auth命令
127.0.0.1:6379> auth [password]
# 例:
127.0.0.1:6379> auth 123456

1.2 指定参数登录

这些参数都是可选的

# 语法
# -h [ip]:指定redis服务ip,不填默认为127.0.0.1
# -p [port]:指定redis服务端口,不填默认为6379
# -a [pwd]:指定redis服务登录密码
# -n [db_number]:指定redis库下标,不填默认0
redis-cli -h [ip] -p [port] -a [pwd] -n [db_number]

# 例:
redis-cli -h 192.168.0.100 -p 6379 -a 123456 -n 9

1.3 使用shell连接操作redis

这里会直接使用shell脚本操作redis-cli来实现数据插入和获取。

#!/bin/bash
# 插入数据
echo '开始连接redis插入数据'
redis-cli -h 127.0.0.1 -a 123456 -n 9 set name Kerwin
# 获取数据
redis-cli -h 127.0.0.1 -a 123456 -n 9 get name

二、redis运维常用命令

2.1、查看redis版本信息

[root@kerwin /]# redis-server -v
Redis server v=6.0.20 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=22b80d876b6e8f12

或者客户端输入:info server

127.0.0.1:6379> info server
# Server
redis_version:6.0.20
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:22b80d876b6e8f12
redis_mode:standalone
os:Linux 3.10.0-1160.88.1.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:12.2.0
process_id:1
run_id:fbed0123d026af0f7094190c7ebe9baedfbb8b8e
tcp_port:6379
uptime_in_seconds:3269
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:2235721
executable:/data/redis-server
config_file:/etc/redis/redis.conf
io_threads_active:0

2.2、查看服务所有[部分]信息

使用info [section]查看

三、redis库相关命令

# 切换到1号库;redis有16个初始化库,编号0到15,默认使用0号库
127.0.0.1:6379> select 1

# 查看当前库的key的数量
127.0.0.1:6379> dbsize

# 删除当前库的全部数据
127.0.0.1:6379> flushdb

# 删除所有库的全部数据
127.0.0.1:6379> flushall

四、redis key相关命令

# 查看当前库的全部key
keys *

# 判断某个key是否存在,存在返回1,不存在返回0
exists [key]

# 查看某个key的类型,如果key不存在,则返回none
type [key]

# 删除指定的key数据,成功返回1,失败返回0
del [key]

# 根据value选择非阻塞删除,仅将keys从keyspace元数据中删除,真正的删除后在后续异步操作
unlink [key]

# 查看某个key的过期时间,单位(秒),-1表示永不过期,-2表示已经过期
ttl [key]

# 给指定的key设置过期时间,单位(秒)
expire [key] 10

五、redis 字符串相关命令

# 添加一条数据 例如set k1 v1,添加key为k1,值为v1的数据
set <key> <value>

# 得到某个key的数据,例如get k1,得到key为k1的值
get <key>

# 将给定的value,追加到某key的原值的末尾,返回追加后的字符长度
append <key> <value>

# 查询某key的值的长度
strlen <key>

# 当key不存在的时候,才能添加成功,当key存在的时候,不能添加
setnx <key> <value>

# 将某个key的值,数字增加1,仅仅对数字起作用,如果为空,新增值为1
incr <key>

# 将某个key的值,数字减少1,仅仅对数字起作用,如果为空,新增值为-1
decr <key>

# 将key中储存的数字值增减,自定义步长
incrby/decrby <key> <步长>

# 批量添加
mset <key1> <value1> <key2> <value2>

# 批量取值
mget <key1> <key2>

# 批量添加,当且仅当所有的key都不存在(因为原子性,一个失败则都失败)
msetnx <key1> <value1> <key2> <value2>

# 获取某个key值的范围,getrange k1 0 2,包含0位置的元素,和2位置的元素
getrange <key> <起始位置> <结束位置>

# 设置键值的同时设置过期时间(单位秒)
setex <key> <过期时间> <value>:

# 设置新值,并返回旧值
getset <key> <value>

六、redis 列表相关命令

# 从左边,或者右边添加数据
lpush/rpush <key> <value1> <value2> <value3>

# 从左边,或者右边取出一个值,列表里这个值就不存在了
lpop/rpop <key>

# 从key1的右边取一个值,添加在key2的左边
rpoplpush <key1> <key2>

# 按照索引下角标得到元素(从左往右),当结束为值为-1时,代表得到多有,这个值还在列表中
lrange  <key> <起始位置> <结束位置>

# 按照索引,从左往右获得对应的值
lindex <key> <index>

# 获得列表长度
llen <key>

# 在某个key下的某个值的前面/后面添加一个新的值
linsert <key> before/after <value> <newVlaue>

# 删除某个key下,删除n个值为value的数据
lrem <key> <n> <value>

# 将某个key下的某个下角标的值换成给定的值
lset <key> <index> <value>

七、redis set集合相关命令

# 添加数据,如果值已经存在,忽略该值
sadd <key> <value1> <value2> <value3>

# 获取集合中元素数量
scard <key>

# 得到集合中所有的值
smembers <key>

# 判断某个key中是否存在value,存在返回1,不存在返回0 scard  <key>:返回集合的元素个数
sismember <key> <value> 

# 删除某个key中的某些元素
srem <key> <value1> <value2>

# 从key中随机取出一个值,如果值没了,那么key就不在了
spop <key>

# 从某个key中,取出n个值,不会从集合中删除
srandmember <key> <n>

# 把集合中的一个值移动到另一个集合
smove <key1>  <key2> <value>

# 取两个集合的交集 
sinter <key1>  <key2>

# 取两个集合的并集 
sunion <key1>  <key2>

# 取两个集合的差集(在key1中的,不在key2中的)
sdiff <key1>  <key2>

八、redis hash相关命令

# 给某个key哈希表中的field键复制为value
hset  <key> <field> <value>

# 得到某个key哈希表中某个field的值
hget <key> <field> 

# 查看key总数
hlen <key>

# 批量加数据
hmset <key> <field1> <value1> <field2> <value2>

# 某个key哈希表中某个field是否存在
hexists <key> <field1>

# 查看某个key哈希表中的全部field
hkeys <key> 

# 查看某个key哈希表中的全部value
hvals <key>

# 查看某个key哈希表中全部的key和value
hgetall <key>

# 为某个key的哈希表中的某个field键的值加上响应的增量
hincrby  <key> <field> <increment>

# 某个key哈希表中的field键复制为value,当且仅当key不存在的时候成功
hsetnx  <key> <field> <value>

# 删除key中某个field
hdel <key> <field>

九、redis 有序集合(Zset)相关命令

# 添加以一个过着多个元素,score为评分,集合按照从低到高及进行排序,评分可以重复
zadd  <key> <score1> <value1> <score2> <value2>

# 获取有序集合中成员的数量
zcard <key>

# 统计score评分在某个范围内的数据的数量
zcount <key> <min> <max>

# 查一定范围的元素,end为-1时,查询所有,按照分数从小到大排序,withscores加上他,连着评分一起查出
zrange <key> <start> <end> [LIMIT offset count] [withscores]

# 查一定范围的元素,end为-1时,查询所有,按照分数从大到小排序,withscores加上他,连着评分一起查出
zrevrange <key> <start> <end> [LIMIT offset count] [withscores]

# 查询score评分在某个范围内的数据,从小到大排序,withscores加上他,连着评分一起查出
zrangebyscore <key> <min> <max> [withscores]

# 查询score评分在某个范围内的数据,从大到小排序,withscores加上他,连着评分一起查出
zrevrangebyscore  <key> <max> <min> [withscores]

# 为元素的score加上指定的增量
zincrby  <key> <increment> <value>

# 删除数据
zrem <key> <value1> <value2>

# 返回集合中value的排名,排序从0开始
zrank  <key> <value>

到此这篇关于Redis常用命令集的使用的文章就介绍到这了,更多相关Redis 命令集内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文