文章目录
- 启动与连接
- Key(键)相关命令
- String(字符串)
- Hash(哈希)
- List(列表)
- Set(集合)
- Sorted Set(有序集合)
- 其他常见命令
- HyperLogLog(基数统计)
- Bitmaps(位图)
- Streams(流数据)
- 连接管理
- 许可证控制
- Lua脚本执行
- 其他实用命令
Redis 提供了大量的命令来操作其五种基本数据结构(字符串、哈希表、列表、集合和有序集合)以及进行数据库管理。以下是一些 Redis 常用命令的大致分类,由于篇幅限制,这里不可能列出所有命令的详细信息,请参阅官方文档以获取最新和最全的命令列表。
启动与连接
-
启动服务:
redis-server [配置文件路径] # 指定配置文件启动 redis-server & # 以后台模式启动
-
客户端连接:
redis-cli # 连接本地Redis服务器 redis-cli -h 主机名 -p 端口号 # 远程连接Redis服务器 redis-cli -a 密码 # 使用密码连接
Key(键)相关命令
-
操作Key:
-
DEL key
:删除指定key。 -
EXISTS key
:检查key是否存在。 -
KEYS pattern
:查找所有符合给定模式的key。 -
RANDOMKEY
:随机返回一个key。 -
RENAME oldkey newkey
:重命名key。 -
RENAMENX oldkey newkey
:仅当newkey不存在时重命名key。 -
TTL key
:获取key的剩余生存时间。 -
PTTL key
:获取key的精确剩余生存时间(毫秒)。 -
TYPE key
:返回key所存储的值的类型。
-
String(字符串)
-
设置与获取:
-
SET key value
:设置key的值。 -
GET key
:获取key的值。 -
APPEND key value
:追加值到key对应的字符串末尾。 -
GETRANGE key start end
:获取key中指定范围的子字符串。
-
Hash(哈希)
-
增删改查:
-
HSET key field value
:为哈希表key中的field赋值。 -
HGET key field
:获取哈希表中指定字段的值。 -
HMSET key field value [field value ...]
:同时设置多个哈希字段的值。 -
HGETALL key
:获取哈希表中所有字段和值。
-
List(列表)
-
元素操作:
-
LPUSH key value [value ...]
:将一个或多个值插入到列表头部。 -
RPUSH key value [value ...]
:将一个或多个值插入到列表尾部。 -
LPOP key
:移除并返回列表的第一个元素。 -
RPOP key
:移除并返回列表的最后一个元素。 -
LRANGE key start stop
:获取列表指定范围内的元素。
-
Set(集合)
-
成员操作:
-
SADD key member [member ...]
:向集合添加一个或多个成员。 -
SISMEMBER key member
:判断成员是否是集合的成员。 -
SMEMBERS key
:获取集合的所有成员。 -
SCARD key
:获取集合内元素的数量。
-
Sorted Set(有序集合)
-
元素排序操作:
-
ZADD key score member [score member ...]
:添加一个带有分数的成员到有序集合。 -
ZRANK key member
:返回有序集合中指定成员的索引(排名)。 -
ZSCORE key member
:返回有序集合中成员的分数值。 -
ZRANGE key start stop [WITHSCORES]
:按索引范围返回有序集合的成员及其分数。
-
其他常见命令
-
事务:
MULTI
,EXEC
,DISCARD
,WATCH
-
发布/订阅:
PUBLISH channel message
,SUBSCRIBE channel [channel ...]
,UNSUBSCRIBE [channel ...]
-
持久化:
SAVE
,BGSAVE
,LASTSAVE
,CONFIG SET save "..."
(配置持久化策略) -
数据库管理:
-
SELECT index
:切换数据库。 -
FLUSHDB
:清空当前数据库。 -
FLUSHALL
:清空所有数据库。
-
-
脚本执行:
EVAL script numkeys key [key ...] arg [arg ...]
-
监控与统计:
INFO
,MONITOR
HyperLogLog(基数统计)
-
基数估算:
-
PFADD key element [element ...]
:添加指定元素到HyperLogLog结构中。 -
PFCOUNT key [key ...]
:返回给定HyperLogLog的近似基数,即唯一元素数量。
-
Bitmaps(位图)
-
位操作:
-
SETBIT key offset value
:对key所储存的字符串值设置或清除指定偏移量上的位。 -
GETBIT key offset
:获取key所储存的字符串值指定偏移量上的位。 -
BITCOUNT key [start end]
:计算给定范围内,key对应的字符串中被设置为1的比特位的数量。
-
Streams(流数据)
-
流操作:
-
XADD key * field value [field value ...]
:将一条新消息追加到流中。 -
XRANGE key start end [COUNT count]
:从流中返回指定范围内的消息。 -
XPENDING key group [start end count consumer]
:查询消费者组未确认的消息。
-
连接管理
-
客户端连接信息:
-
CLIENT LIST
:获取客户端连接列表。 -
CLIENT KILL ip:port
:关闭与指定IP和端口相匹配的客户端连接。 -
CLIENT GETNAME
:获取当前连接的名称。 -
CLIENT SETNAME connection-name
:设置当前连接的名称。
-
许可证控制
-
ACL命令:
-
ACL SETUSER username
:创建或修改用户及其权限。 -
ACL GETUSER username
:获取用户的信息和权限列表。 -
ACL LIST
:列出所有用户及它们的权限。 -
ACL WHOAMI
:显示当前连接的身份。
-
Lua脚本执行
Redis支持使用Lua语言编写脚本并在服务器端执行以实现更复杂的逻辑,例如:
-
EVAL script numkeys key [key ...] arg [arg ...]
:执行Lua脚本,并通过key和arg参数传入键名和参数。
其他实用命令
-
过期时间设置:
-
PEXPIRE key milliseconds
:为key设置过期时间(毫秒)。 -
EXPIRE key seconds
:为key设置过期时间(秒)。 -
PERSIST key
:移除key的过期时间,使其持久化。
-
-
事务相关:
-
EXEC
:执行事务块内的命令序列。 -
DISCARD
:取消事务,放弃执行事务块内的所有命令。 -
UNWATCH
:取消之前对所有key的监视。
-
由于篇幅限制,以上仍非Redis命令大全的完整列表,更多高级特性、详细参数以及命令用法,请参考官方文档。
python推荐学习汇总连接:
50个开发必备的Python经典脚本(1-10)
50个开发必备的Python经典脚本(11-20)
50个开发必备的Python经典脚本(21-30)
50个开发必备的Python经典脚本(31-40)
50个开发必备的Python经典脚本(41-50)
————————————————
最后我们放松一下眼睛