Redis 常规操作

这篇具有很好参考价值的文章主要介绍了Redis 常规操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Redis是一个高性能、内存型的键值存储系统,不仅作为数据库和缓存使用,还可作为消息中间件。其提供了丰富的数据结构支持,如字符串、列表、集合、哈希表以及有序集合等,并具有事务处理、持久化及发布/订阅等多种高级特性。以下对Redis中关键命令进行详细解释并举例:

连接与基础命令

  1. 连接Redis服务器

    • 命令行工具:通过终端运行redis-cli以连接本地或远程服务器,默认端口为6379。
      redis-cli -h hostname -p port_number
      
    • 程序中连接:使用相应语言的Redis客户端库创建连接,例如Python示例:
      import redis
      r = redis.Redis(host='localhost', port=6379, db=0)
      
  2. 选择数据库

    • SELECT index:切换到指定索引号的数据库(0-15)。
      SELECT 0
      
  3. 键值对操作

    • 设置键值SET key value [EX seconds] [PX milliseconds] [NX|XX]

      • 设置一个键的值,并可指定生存时间(秒或毫秒),NX表示只有当键不存在时才设置,XX表示只有当键存在时才设置。
        SET mykey "Hello World" EX 60 PX 3000 NX
        
    • 获取键值GET key

      GET mykey
      
    • 删除键DEL key [key ...]

      DEL mykey anotherKey
      

数据结构操作实例

字符串(String)
  • 设置/更新值SET key value

    SET user:1:name "Alice"
    
  • 原子自增/自减INCR keyDECR key

    INCR counter
    DECR visits:today
    
  • 获取长度STRLEN key

    STRLEN user:1:name
    
  • 获取子串GETRANGE key start end

    GETRANGE message 0 3
    
列表(List)
  • 头部插入元素LPUSH key value [value ...]

    LPUSH shopping_list bread milk eggs
    
  • 尾部插入元素RPUSH key value [value ...]

    RPUSH inbox new_message
    
  • 弹出并获取元素

    • 头部弹出:LPOP key
      LPOP shopping_list
      
    • 尾部弹出:RPOP key
      RPOP inbox
      
  • 查询列表内容LRANGE key start stop

    LRANGE shopping_list 0 -1
    
集合(Set)
  • 添加成员SADD key member [member ...]

    SADD users:online 1 2 3
    
  • 移除成员SREM key member [member ...]

    SREM users:online 3
    
  • 查询成员状态SISMEMBER key member

    SISMEMBER users:online 1
    
  • 计算集合操作

    • 交集:SDIFF key1 key2
    • 并集:SUNION key1 key2
    • 差集:SDIFF key1 key2
      SUNION setA setB
      
哈希表(Hash)
  • 插入哈希字段HSET key field value

    HSET user:1 username Alice
    
  • 读取哈希字段HGET key field

    HGET user:1 username
    
  • 获取整个哈希表HGETALL key

    HGETALL user:1
    
有序集合(Sorted Set)
  • 按分数添加成员ZADD key score member [score member ...]

    ZADD leaderboard 100 player1 200 player2
    
  • 范围查询ZRANGE key start stop [WITHSCORES]

    ZRANGE leaderboard 0 -1 WITHSCORES
    
  • 删除成员ZREM key member [member ...]

    ZREM leaderboard player1
    

高级特性

  • 事务处理

    • 开启事务:MULTI
    MULTI
    
    • 执行事务内的命令:一系列命令后跟EXEC
      SET transaction_key value
      INCR transaction_counter
      EXEC
      
    • 取消事务:DISCARD
    • 监视键并在事务内检查它们是否被修改:WATCH key [key ...]
  • 持久化

    • RDB持久化
      • Redis自动定期保存快照至磁盘,也可手动执行异步生成快照:BGSAVE
    • AOF持久化
      • 开启Append Only File模式,将每次写操作记录到文件中;配置重写策略如config set appendonly yes
  • 发布/订阅

    • 发布消息:PUBLISH channel message
      PUBLISH news "Breaking News!"
      
    • 订阅频道:SUBSCRIBE channel [channel ...]
      SUBSCRIBE news weather
      
    • 退订频道:UNSUBSCRIBE [channel ...]

以上仅介绍了Redis常用功能的一小部分,实际应用中可以灵活运用各种命令和数据结构来满足复杂场景的需求。文章来源地址https://www.toymoban.com/news/detail-821359.html

到了这里,关于Redis 常规操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • redis实战-缓存数据&解决缓存与数据库数据一致性

    缓存( Cache),就是数据交换的 缓冲区 ,俗称的缓存就是 缓冲区内的数据 ,一般从数据库中获取,存储于本地代码。防止过高的数据访问猛冲系统,导致其操作线程无法及时处理信息而瘫痪,这在实际开发中对企业讲,对产品口碑,用户评价都是致命的;所以企业非常重视缓存技术,

    2024年02月12日
    浏览(55)
  • redis数据库缓存服务器

    redis比mysql访问数据快 非关系型数据库以键值对的方式存储数据 作用:加快访问速度,缓解数据库压力 redis最新版本7 特点 丰富的数据结构 list,set,hash等数据结构的存储 支持持久化 支持事务 “一个完整的动作,要么全部执行,要么什么也没有做” 支持主从支持高可用,支持

    2024年02月05日
    浏览(62)
  • redis的缓存更新策略以及如何保证redis与数据库的数据一致性

    redis的缓存更新策略有这么几种: 1、由应用直接和redis以及数据库相连接:         查询数据时,应用去redis中查询,查不到的话再由应用去数据库中查询,并将查询结果放在redis;         更新数据时,由应用去触发redis数据的删除以及数据库的update。 2、应用只跟redi

    2024年02月13日
    浏览(57)
  • Redis如何保证缓存和数据库一致性?

    现在我们在面向增删改查开发时,数据库数据量大时或者对响应要求较快,我们就需要用到Redis来拿取数据。 Redis:是一种高性能的内存数据库,它将数据以键值对的形式存储在内存中,具有读写速度快、支持多种数据类型、原子性操作、丰富的特性等优势。 优势: 性能极高

    2024年01月16日
    浏览(70)
  • Redis---数据库和缓存如何保证一致性?

    用「读 + 写」请求的并发的场景来分析: 假如某个用户数据在缓存中不存在,请求 A 读取数据时从数据库中查询到年龄为 20,在未写入缓存中时另一个请求 B 更新数据。它更新数据库中的年龄为 21,并且清空缓存。这时请求 A 把从数据库中读到的年龄为 20 的数据写入到缓存

    2024年01月24日
    浏览(57)
  • Redis如何保障缓存与数据库的数据一致性问题?

    目录 一.最经典的数据库加缓存的双写双删模式 二. 高并发场景下的缓存+数据库双写不一致问题分析与解决方案设计 三、上面高并发的场景下,该解决方案要注意的问题 1.1 Cache Aside Pattern概念以及读写逻辑 (1)读的时候,先读缓存,缓存没有的话,那么就读数据库,然后取

    2023年04月21日
    浏览(49)
  • Springboot+Redis:实现缓存 减少对数据库的压力

    🎉🎉欢迎光临,终于等到你啦🎉🎉 🏅我是苏泽,一位对技术充满热情的探索者和分享者。🚀🚀 🌟持续更新的专栏 Redis实战与进阶 本专栏讲解Redis从原理到实践 这是苏泽的个人主页可以看到我其他的内容哦👇👇 努力的苏泽 http://suzee.blog.csdn.net/   目录 缓存如何实现?

    2024年03月24日
    浏览(59)
  • 数据库缓存服务——NoSQL之Redis配置与优化

    目录 一、缓存概念 1.1 系统缓存 1.2 缓存保存位置及分层结构 1.2.1 DNS缓存 1.2.2 应用层缓存 1.2.3 数据层缓存 1.2.4 硬件缓存 二、关系型数据库与非关系型数据库 2.1 关系型数据库 2.2 非关系型数据库 2.3 关系型数据库和非关系型数据库区别: 2.4 非关系型数据库产生背景 2.5 总结

    2024年02月15日
    浏览(50)
  • Redis数据库 | 发布订阅、主从复制、哨兵模式、缓存雪崩

    💗wei_shuo的个人主页 💫wei_shuo的学习社区 🌐Hello World ! Redis 发布订阅 (pub/sub) 是一种消息通信模式:发送者 (pub) 发送消息,订阅者 (sub) 接收消息 Redis 客户端可以订阅任意数量的频道 Redis主从复制是指在Redis中设置一个主节点(Master)和一个或多个从节点(Slave),

    2024年02月15日
    浏览(57)
  • Redis缓存MySQL数据库存储二者如何保证数据一致性

    在大型互联网应用中,由于数据库读写频繁、压力大等原因,我们通常会使用缓存来减少数据库的访问次数,提高系统的性能。而Redis作为一个高性能的内存数据库,成为了缓存的首选方案之一。但是,缓存和数据库之间存在数据一致性的问题,如何解决这个问题呢?本文将

    2023年04月19日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包