文章目录
- 启动与连接
- 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)
 ————————————————
最后我们放松一下眼睛
 