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 参数:尝试接管主节点的角色,通常用于恢复主节点故障后的情况。

注意事项

  1. 持久化与性能平衡

    Redis支持数据的持久化,但需要谨慎选择合适的持久化方式,以避免影响性能。可选的方式包括RDB快照和AOF日志。
  2. 数据类型选择

    根据应用场景选择合适的数据类型,如字符串、哈希表、列表、集合和有序集合。合理选择数据类型有助于提高查询和操作效率。
  3. 合理设置过期时间

    使用EXPIRE命令设置键的过期时间,避免无用数据长时间占用内存。但过期时间设置过短可能导致频繁更新,影响性能。
  4. 避免使用KEYS命令

    避免在生产环境中使用KEYS命令,因为它会阻塞其他命令的执行,影响性能。可以使用SCAN命令进行安全的迭代键操作。
  5. 使用连接池

    在应用中使用连接池来管理Redis连接,避免频繁地打开和关闭连接,提高性能和资源利用率。
  6. 监控和日志

    定期监控Redis的性能,查看日志以及使用INFO命令来获取实时的系统信息。监控有助于及时发现和解决问题。
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐