Redis学习(五)常用命令整理

1.启动与连接

启动:

redis-server /usr/local/soft/redis-6.0.9/redis.conf

连接:

redis-cli -h 服务器地址 -p 端口号 -a 密码

连接后输入密码:

auth 密码

查看基本信息:

info


2.数据库

切换数据库:

select 0

清空当前数据库:

flushdb

清空所有数据库:

flushall


3.基本命令

查看版本:

info server

存值:
(EX 10-指定10s后过期;PX 10-指定10ms后过期;NX-只在不存在时存值;XX-只在存在时存值 )

set key1 123 [EX 10 | PX 10] [NX | XX]

取值:

get key1

模糊查询key:

keys access_token*

获取当前db的key总数(生产环境数据量大,慎用):

dbsize

查看key是否存在:

exists key1

删除key,支持删除多个:

del key1 key2

重命名key:

rename key1 key2

查看key的值类型:

type key1


4.String类型命令

Redis一共9种数据类型:StringListSetZsetHashBigmapHyperloglogGeoStream

存储类型: 可以用来存储intfloatString

获取指定范围的字符:

getrange key1 0 1

获取值长度:

strlen key1

字符串追加内容:

append key1 good

设置多个值(批量操作,原子性):

mset key1 111 key2 222

获取多个值:

mget key1 key2

设置值,如果key存在,则不成功(set not exist):

(基于此可实现分布式锁,用 del key 释放锁)

setnx key1 123

整数值递增(值不存在会得到1):

incr key1

整数值增加100:

incrby key1 100

整数递减(值不存在会得到-1):

decr key1

整数减少100:

decrby key1 100

浮点数增加1.1:

incrbyfloat key1 1.1

浮点数减少1.1:

incrbyfloat key1 -1.1


5.List类型命令

存储类型: 存储有序的字符串(从左到右),元素可以重复。最大存储数量 2^32-1(40亿左右)。

在左边增加元素a、b:

lpush list1 a b

在右边增加元素a、b:

rpush list1 a b

从左边弹出一个元素:

lpop list1

从右边弹出一个元素:

rpop list1

查询第一个值:

lindex list1 0

查询所有值:

lrange list1 0 -1


6.Set类型命令

存储类型: Set 存储 String 类型的无序集合,最大存储数量 2^32-1(40亿左右)。

添加一个或多个元素:

sadd myset a b c

获取所有元素:

smembers myset

统计元素个数:

scard myset

随机查询一个元素:

srandmember myset

随机弹出一个元素:

spop myset

移除一个或多个元素:

srem myset b c

查看元素是否存在:

sismember myset a


7.ZSet类型命令

存储类型: Sorted set 存储有序的元素。每个元素有个score,按照 score 从小到大排名。score 相同时,按照 key 的ASCII码排序。

添加元素:

zadd myzset 10 java 20 php 30 python

获取全部元素:

zrange myzset 0 -1 withscores

zrevrange myzset 0 -1 withscores

根据分值区间获取元素:

zrangebyscore myset 20 30

移除元素,也可以根据 score rank 删除:

zrem myzset java php

统计元素个数:

zcard myzset

分值增加5:

zincrby myzset 5 python

根据分值统计个数:

zcount myzset 20 60

获取元素 rank:

zrank myzset python

获取元素 score:

zscore myzset python


8.Hash类型命令

存储类型: Hash 用来存储多个无序的键值对。最大存储数量 2^32-1(40亿左右)。

插入一个key:

hset h1 a 1

插入多个key:

hmset h1 b 2 c 3 d 4

获取一个或多个key:

hget h1 a b c

获取所有key名:

hkeys h1

获取所有key值:

hvals h1

获取所有key名和key值:

hgetall h1

删除key:

hdel h1 a

获取对象h1中key的数量:

hlen h1


9.cluster 相关命令

1)集群

打印集群的信息:

cluster info

列出集群当前已知的所有结点(node)以及结点的相关信息:

cluster nodes

2)结点

将 ip 和 port 所指定的结点添加到集群当中,让它成为集群的一份子:

cluster meet <ip> <port>

从集群中移除 node_id 指定的结点(保证空槽道):

custer forget <node_id>

将当前结点设置为 node_id 指定结点的从结点:

cluster replicate <node_id>

将结点的配置文件保存到硬盘里面:

cluster saveconfig

3)槽(slot)

将一个或多个槽(slot)指派(assign)给当前结点:

cluster addslots <slot> [slot …]

移除一个或多个槽对当前结点的指派:

cluster delslots <slot> [slot …]

移除指派给当前结点的所有槽,让当前结点变成一个没有指派任何槽的结点:

cluster flushslots

将槽 slot 指派给 node_id 指定的结点,如果槽已经指派给另一个结点,那么先让另一个结点删除该槽,然后再进行指派:

cluster setslot <slot> node <node_id>

将本结点的槽 slot 迁移到 node_id 指定的结点中:

cluster setslot <slot> migrating <node_id>

从 node_id 指定的结点中导入槽 slot 到本节点:

cluster setslot <slot> importing <node_id>

取消对槽 slot 的导入(import)或者迁移(migrate):

cluster setslot <slot> stable

4)键

计算键 key 应该被放置在哪个槽上:

cluster keyslot <key>

返回槽 slot 目前包含的键值对数量:

cluster countkeysinslot <slot>

返回 count 个 slot 槽中的键:

cluster getkeysinslot <slot> <count>


10.其他类型命令

其他详细命令,参考:https://blog.csdn.net/qq_33204709/article/details/122320481

整理完毕,完结撒花~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不愿放下技术的小赵

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

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

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

打赏作者

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

抵扣说明:

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

余额充值