Redis:操作命令和使用方式
Redis是一款高性能的开源内存数据库,被广泛应用于缓存、消息队列和实时统计等场景。本文将介绍Redis的一些常用命令、用例以及注意事项,帮助读者更好地理解和使用Redis。
文章共1,360字 · 阅读需要大约5分钟
一键AI生成摘要,助你高效阅读
问答
·
Redis是一款高性能的开源内存数据库,被广泛应用于缓存、消息队列和实时统计等场景。本文将介绍Redis的一些常用命令、用例以及注意事项,帮助读者更好地理解和使用Redis。
基础命令
- redis-server
- redis-cli
- redis-benchmark
- redis-check-aof
- redis-check-dump
- redis-sentinel
连接控制台
三种方式
- 服务器中直接进入
# redis更目录
$ src/redis-cli
127.0.0.1:6379>
- 进入客户端模式,可持续执行命令
#进入客户度 $redis-cli -h 127.0.0.1-p 6379 #执行命令 127.0.0.1:6379>set name lizz ok 127.0.0.1:6379>get name lizz
- 直连执行一次
#连接连接服务器并执行命令 $redis-cli -h 127.0.0.1-p 6379 set name1 lizz
操作详解
1. 字符串操作
-
SET key value
- 用例:
SET username "john_doe"
- 将键
username
的值设置为john_doe
。
- 用例:
-
GET key
- 用例:
GET username
- 获取键
username
的值。
- 用例:
-
DEL key [key ...]
- 用例:
DEL username
- 删除键
username
。
- 用例:
-
SCAN cursor [MATCH pattern] [COUNT count]
- 用例:SCAN 0 MATCH user:*
- 匹配所有以
user:
开头的键
2. 哈希表操作
-
HSET key field value
- 用例:
HSET user:id:1001 username "john_doe"
- 在哈希表
user:id:1001
中设置字段username
的值为john_doe
。
- 用例:
-
HGET key field
- 用例:
HGET user:id:1001 username
- 获取哈希表
user:id:1001
中字段username
的值。
- 用例:
3. 列表操作
-
LPUSH key element [element ...]
- 用例:
LPUSH recent_logs "Log entry 1" "Log entry 2"
- 将两个日志条目从左侧插入列表
recent_logs
。
- 用例:
-
LPOP key
- 用例:
LPOP recent_logs
- 移除并返回列表
recent_logs
的左侧元素。
- 用例:
4. 集合操作
-
SADD key member [member ...]
- 用例:
SADD online_users "user1" "user2"
- 向集合
online_users
添加两个用户。
- 用例:
-
SMEMBERS key
- 用例:
SMEMBERS online_users
- 获取集合
online_users
的所有成员。
- 用例:
5. 有序集合操作
-
ZADD key score member [score member ...]
- 用例:
ZADD highscores 100 "player1" 150 "player2"
- 向有序集合
highscores
添加两个玩家及其分数。
- 用例:
-
ZRANGE key start stop [WITHSCORES]
- 用例:
ZRANGE highscores 0 1 WITHSCORES
- 获取有序集合
highscores
中排名前两的玩家及其分数。
- 用例:
6.过期时间
- EXPIRE key_name seconds
- EXPIRE mykey 3600
- 设置键名为
mykey
的键在 3600 秒后过期
- TTL mykey
- 键
mykey
的剩余生存时间(以秒为单位)
- 键
运维操作
- info
- 获取当前redis信息
- config get maxclients
- 查看最大连接数
- config set maxclients 5000
- 设置最大客户端连接数
- info clients
- 查看客户端统计
- client setname lizz-test
- 设置当前连接名称
- client list
- 获取客户端链接列表
- client getname
- 获取当前连接名词
- slowlog get 2
- 慢查日志
集群操作
- CLUSTER FAILOVER [FORCE|TAKEOVER]
- 切换主从
- FORCE 参数:强制执行主从切换,即使当前的主节点并没有发生故障。
- TAKEOVER 参数:尝试接管主节点的角色,通常用于恢复主节点故障后的情况。
注意事项
-
持久化与性能平衡
Redis支持数据的持久化,但需要谨慎选择合适的持久化方式,以避免影响性能。可选的方式包括RDB快照和AOF日志。 -
数据类型选择
根据应用场景选择合适的数据类型,如字符串、哈希表、列表、集合和有序集合。合理选择数据类型有助于提高查询和操作效率。 -
合理设置过期时间
使用EXPIRE
命令设置键的过期时间,避免无用数据长时间占用内存。但过期时间设置过短可能导致频繁更新,影响性能。 -
避免使用
避免在生产环境中使用KEYS
命令KEYS
命令,因为它会阻塞其他命令的执行,影响性能。可以使用SCAN
命令进行安全的迭代键操作。 -
使用连接池
在应用中使用连接池来管理Redis连接,避免频繁地打开和关闭连接,提高性能和资源利用率。 -
监控和日志
定期监控Redis的性能,查看日志以及使用INFO
命令来获取实时的系统信息。监控有助于及时发现和解决问题。
更多推荐
已为社区贡献13条内容
所有评论(0)