redis命令行常用操作

一. Redis 连接

1. 进入redis环境

docker run -d -p 6379:6379 --name redis redis:latest
docker exec -it redis redis-cli

2. 检测 Redis 是否正常

127.0.0.1:6379> ping
PONG

3. 退出连接

127.0.0.1:6379> quit
[root@VM-4-12-centos data]#

二. redis内容

1. key 操作命令

输入命令含义
keys *查看所有的key
dbsize获取总key数
exists key查询键是否存在
del key删除key
type key查询键类型(string,set…)
ttl key查询key的生命周期(秒)
pttl key查询key的生命周期(毫秒)
expire key设置过期时间(秒)
pexpire key设置过期时间(毫秒)
persist key设置永不过期
rename key newkey更改键名称

2. 字符串string 操作命令

输入命令含义举例返回值
set key value存放键值set java1 testOK
get key获取键值get java1“test”
mset key1 value1 key2 value2批量存放mset java1 1 java2 2 java3 3OK
mget key1 key2批量获取mget java1 java21) “test” 2) “2”
strlen key获取值长度strlen java14
append key value追加内容append java1 test2(integer) 6
getrange key start end获取部分内容getrange java1 0 3“1tes”

3. 无序集合Set 操作命令

相当于 Java 语言里面的 HashSet

语法含义举例返回值
sadd key [member…]存储值sadd langs java php c++ go ruby python kotlin java(integer) 7
smembers key获取所有元素语法smembers langs1) "php"2) "kotlin"3)"c++"4) "go"5) "ruby"6) "python"7) “java”
srandmember key count随机获取元素语法srandmember langs 31)"kotlin"2) "python"3) “c++”
sismember key member判断集合是否存在元素sismember langs go(integer) 1
scard key获取集合元素个数scard langs(integer) 7
srem key [member…]删除集合元素srem langs java(integer) 1
spop key [count]弹出元素spop langs 21) “python” 2) “go”

4. 有序集合zset

类似于 Java 的 SortedSet 和 HashMap 的结合体

和列表的区别:
1、列表使用链表实现,两头快,中间慢。有序集合是散列表和跳跃表实现的,即使读取中间的元素也比较快。
2、列表不能调整元素位置,有序集合能。
3、有序集合比列表更占内存。

输入命令含义举例返回值
`zadd key [NXXX] [CH] [INCR] score member [score member …]`存储值zadd footCounts 16011 tid 20082 huny 2893 nosy
zscore key member获取元素分数zscore footCounts tid“16011”
zincrby key increment member增加指定元素分数zincrby footCounts 2000 tid“18011”
zcard key获取集合元素个数zcard footCounts3
zrem key member [member ...]删除指定元素zrem footCounts huny1
zrank key member获取元素排名zrank footCounts tid2
zrangebyscore key min max [WITHSCORES] [LIMIT offset count]获取指定分数范围排名语法zrangebyscore footCounts 3000 30000 withscores limit 0 11) "tid"2) “16011”
zcount key min max获取指定范围分数个数zcount footCounts 2000 200002

5. 列表操作命令list

Redis 中的 listJava 中的 LinkedList 很像,底层都是一种链表结构, list 的插入和删除操作非常快,时间复杂度为 0(1),不像数组结构插入、删除操作需要移动数据。

输入命令含义举例返回值
lpush key [value …]左端存值语法lpush list lily sandy2
rpush key [value …]右端存值语法rpush list tom kitty4
lset key index value索引存值语法lset list 3 utoOK
lpop key左端弹出语法lpop list“broad”
rpop key右侧弹出语法rpop list“kitty”
llen key获取元素个数llen list2
lrange key start top获取列表元素lrange list 0 -11) “sandy” 2) "lily"3)“uto”
index key index索引获取语法lindex list 2"ketty "
lrem key count value根据值删除语法lrem userids 0 111 //count=0 删除所有2
ltrim key start stop范围删除语法ltrim list 2 4OK

6. 散列表hash

Redis 中的 Hash 和 Java的 HashMap 更加相似, 都是 数组+链表 的结构,当发生 hash 碰撞时将会把元素追加到链表上,值得注意的是在 RedisHashvalue 只能是字符串.

输入命令含义举例返回值
hset key field value存放键值hset user name javastack1
hmset key field value [field value …]2hmset user name javastack age 20 address china4
hsetnx key field value不存在时语法hsetnx user tall 1800
hget key field获取字段值hget key field“20”
hmget key field [field …]获取多个字段值hmget user name age address1) "javastack"2)"20"3) “china”
hgetall key获取所有键与值语法hgetall user1) "name"2) "javastack"3) "age"4) "20"5) "address"6) “china”
hkeys key获取所有字段语法127.0.0.1:6379> hkeys user1) "name"2) "address"3) "tall"4) “age”
hvals key获取所有值语法hvals user1) "javastack"2) "china"3) "170"4) “20”
hexists key field判断字段是否存在hexists user address1
hlen key获取字段数量hlen user4
hincrby key field increment递增/减hincrby user tall -10170
hdel key field [field …]删除字段hdel user age1

参考文档

  1. Redis 常用操作命令,非常详细!
  2. Redis基础系列短视频《2. Redis简单实战》
  3. redis中文官网
  4. Redis 常用命令
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爽朗地狮子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值