Redis组件介绍(四)

写在前面

今天继续学习后面的知识。

Redis 操作命令

操作 List 相关 API

  1. LPUSH

    • 说明: 将某个值加入到一个 key 列表的头部。当列表不存在时会创建。
    • 语法: LPUSH key value [value ...]
    • 返回值: 成功返回列表的元素个数,失败返回 0。
  2. LPUSHX

    • 说明: 与 LPUSH 类似,但必须保证 key 存在。
    • 语法: LPUSHX key value
    • 返回值: 成功返回列表的元素个数,失败返回 0。
  3. RPUSH

    • 说明: 将某个值加入到一个 key 列表的末尾。
    • 语法: RPUSH key value [value ...]
    • 返回值: 成功返回列表的元素个数,失败返回 0。
  4. RPUSHX

    • 说明: 与 RPUSH 类似,但必须保证 key 存在。
    • 语法: RPUSHX key value
    • 返回值: 成功返回列表的元素个数,失败返回 0。
  5. LPOP

    • 说明: 返回并移除列表左边的第一个元素。
    • 语法: LPOP key
    • 返回值: 被删除的元素。
  6. RPOP

    • 说明: 返回并移除列表右边的第一个元素。
    • 语法: RPOP key
    • 返回值: 被删除的元素。
  7. LRANGE

    • 说明: 获取指定下标区间内的元素。
    • 语法: LRANGE key start stop
    • 示例: LRANGE list 0 -1
  8. LLEN

    • 说明: 获取列表的元素个数。
    • 语法: LLEN key
  9. LSET

    • 说明: 设置指定索引的值,相当于修改这个位置的值。
    • 语法: LSET key index value
  10. LINDEX

    • 说明: 获取指定索引位置的元素。
    • 语法: LINDEX key index
  11. LREM

    • 说明: 删除列表中重复的元素,设置删几个,就会删几个。
    • 语法: LREM key count value
    • 说明: count 为删除的数量。
  12. LTRIM

    • 说明: 保留列表中特定区间内的元素,其他元素删除。
    • 语法: LTRIM key start stop
  13. LINSERT

    • 说明: 在某个元素之前或之后插入新元素。
    • 语法: LINSERT key before|after pivot value

操作 Set 相关 API

  1. SADD

    • 说明: 为集合添加元素。
    • 语法: SADD key member [member ...]
    • 返回值: 添加了的元素个数。
  2. SMEMBERS

    • 说明: 显示集合中的所有元素(无序)。
    • 语法: SMEMBERS key
  3. SCARD

    • 说明: 返回集合中元素的个数。
    • 语法: SCARD key
  4. SPOP

    • 说明: 随机返回并删除集合中的一个元素。
    • 语法: SPOP key
  5. SMOVE

    • 说明: 从一个集合中移动元素到另一个集合,必须是同种类型。
    • 语法: SMOVE source destination member
  6. SREM

    • 说明: 从集合中删除一个元素。
    • 语法: SREM key member [member ...]
    • 返回值: 删除的元素个数。
  7. SISMEMBER

    • 说明: 判断集合中是否含有某个元素。
    • 语法: SISMEMBER key member
    • 返回值: 存在返回 1,不存在返回 0。
  8. SRANDMEMBER

    • 说明: 随机返回集合中的元素,可以指定返回的个数。
    • 语法: SRANDMEMBER key [count]
  9. SDIFF

    • 说明: 去掉第一个集合中其它集合含有的相同元素。
    • 语法: SDIFF key [key ...]
  10. SINTER

    • 说明: 求集合的交集。
    • 语法: SINTER key [key ...]
  11. SUNION

    • 说明: 求集合的并集。
    • 语法: SUNION key [key ...]

操作 ZSet 相关 API

  1. ZADD

    • 说明: 添加有序集合元素。
    • 语法: ZADD key score member [score member ...]
    • 示例: ZADD zset 2 xiaohu 3 xiaohu2
  2. ZCARD

    • 说明: 返回有序集合的元素个数。
    • 语法: ZCARD key
  3. ZRANGE

    • 说明: 返回有序集合中指定范围的元素(升序)。
    • 语法: ZRANGE key start stop [WITHSCORES]
  4. ZREVRANGE

    • 说明: 返回有序集合中指定范围的元素(降序)。
    • 语法: ZREVRANGE key start stop [WITHSCORES]
  5. ZRANGEBYSCORE

    • 说明: 按照分数查找范围内的元素。
    • 语法: ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
    • 示例: ZRANGEBYSCORE zset 0 20 WITHSCORES LIMIT 0 2
  6. ZRANK

    • 说明: 返回指定成员的排名(升序)。
    • 语法: ZRANK key member
  7. ZREVRANK

    • 说明: 返回指定成员的排名(降序)。
    • 语法: ZREVRANK key member
  8. ZSCORE

    • 说明: 显示某个元素的分数。
    • 语法: ZSCORE key member
  9. ZREM

    • 说明: 移除指定成员。
    • 语法: ZREM key member [member ...]
  10. ZINCRBY

    • 说明: 给指定元素增加分数。
    • 语法: ZINCRBY key increment member
    • 说明: 如果需要减分,increment 可以是负数。

操作 Hash 相关 API

  1. HSET

    • 说明: 设置一个或多个 key/value 对。
    • 语法: HSET key field value [field value ...]
  2. HMSET

    • 说明: 设置多个 key/value 对。
    • 语法: HMSET key field value [field value ...]
  3. HSETNX

    • 说明: 设置一个不存在的 key 的值。
    • 语法: HSETNX key field value
    • 返回值: 设置成功返回 1,失败返回 0。
  4. HGET

    • 说明: 获取指定 key 对应的值。
    • 语法: HGET key field
  5. HGETALL

    • 说明: 获取所有 key/value 对。
    • 语法: HGETALL key
  6. HMGET

    • 说明: 获取多个 key 对应的值。
    • 语法: HMGET key field [field ...]
  7. HDEL

    • 说明: 删除指定的 key/value 对。
    • 语法: HDEL key field [field ...]
    • 返回值: 删除成功的个数。
  8. HEXISTS

    • 说明: 判断某个 key 是否存在。
    • 语法: HEXISTS key field
    • 返回值: 存在返回 1,不存在返回 0。
  9. HKEYS

    • 说明: 获取所有的 key。
    • 语法: HKEYS key
  10. HVALS

    • 说明: 获取所有的 value。
    • 语法: HVALS key
  11. HINCRBY

    • 说明: 为指定 key 对应的值进行加法运算(只能针对数值做运算)
    • 语法: HINCRBY key field increment
  12. HINCRBYFLOAT

    • 说明: 为指定 key 对应的值增加浮点数。
    • 语法: HINCRBYFLOAT key field increment

Redis 主从复制

主从复制架构

主从复制主要用于数据冗余备份,从节点用于数据同步,但无法自动处理主节点故障。

主从复制架构图

搭建主从复制

  1. 准备工作

    • 创建三个目录:master, node1, node2。
    • 拷贝 redis.conf 配置文件到各目录:
      cp redis-7.0.0/redis.conf ./master/
      cp redis-7.0.0/redis.conf ./node1/
      cp redis-7.0.0/redis.conf ./node2/
      
  2. 配置文件修改

    • master
      port 6379
      protected-mode no
      
    • node1
      port 6380
      protected-mode no
      replicaof <masterip> <masterport>  # 例如:replicaof 192.168.40.110 6379
      
    • node2
      port 6381
      protected-mode no
      replicaof <masterip> <masterport>  # 例如:replicaof 192.168.40.110 6379
      
  3. 启动 Redis 实例

    cd /usr/local/soft/bigdata/redis-install
    redis-server ./master/redis.conf
    redis-server ./node1/redis.conf
    redis-server ./node2/redis.conf
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/790631.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

随笔9/1(一)

软件工程 计科22级12班作业要求 第一次作业要求作业目标 对学习课程进行了解并探索相应内容介绍自己 --> 我叫肖商,第一次与电脑结缘是20年疫情期间,学校教学转为网络教学时,第一次接触编程,虽然什么都不懂,但当时感觉编程很奇妙。 后来有了学习计算机的想法,大学志愿…

UNIAPP拨打电话

权限 <uses-permission android:name="android.permission.CALL_PHONE"/><uses-permission android:name="android.permission.READ_PHONE_STATE"/> 然后重新打基座包 代码uni.makePhoneCall({ phoneNumber: that.mobile });

7 个热门的 AI 视频生成工具介绍

AI 视频生成领域最近的发展简直是突飞猛进,让人目不暇接啊!就在前不久,OpenAI 推出的 Sora 震惊了整个科技圈。但是,惊喜不止于此,国产的 AI 视频工具“可灵”据说已经在某些方面超越了 Sora,这真是让人兴奋不已! AI 视频生成技术的发展速度之快,应用范围之广,真的让…

MVCC详解,深入浅出简单易懂

转载自 https://blog.csdn.net/lans_g/article/details/124232192一、什么是MVCC? mvcc,也就是多版本并发控制,是为了在读取数据时不加锁来提高读取效率和并发性的一种手段。 数据库并发有以下几种场景: 读-读:不存在任何问题。读-写:有线程安全问题,可能出现脏读、幻…

Mesh-gpt(点处理、保存脚本,Transformer)

小结: 1、配置了学长的环境,并编写点处理(旋转、镜像)和保存(由内存numpy数组到shp文件)脚本。 2、初步阅读mesh-gpt论文,思考Transformer网络架构(翻译模型和补全模型的训练区别)环境配置 pip install torch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 --index-u…

Magnet Acquire 2.71 Windows - 适用于智能手机和计算机的数字取证采集工具

Magnet Acquire 2.71 Windows - 适用于智能手机和计算机的数字取证采集工具Magnet Acquire 2.71 Windows - 适用于智能手机和计算机的数字取证采集工具 Digital Forensic Software 请访问原文链接:https://sysin.org/blog/magnet-acquire/,查看最新版。原创作品,转载请保留出…

Transformer网络架构

只有理解了,才能在超越经验的情况下,生成出合理的内容编解码encoder-decoder结构什么是“码”?剥离形式的表示(各种语言的不同),剩下的语义关系(上下文语义)“码”的要求:1、数字化 2、语义关系的距离分词器和one-hot编码在2不足需要找到一个纬度高,但是又没那么高的…

Gluon 编译 JavaFx - android apk

Gluon 编译 JavaFx -> android apk 本文的内容属 在linux服务器上 搭建 Gluon 编译 android-apk 环境 这一篇文章直接跟着官网操作一次性成功 虚拟机版本centos8 Architecture: x86-64开始安装相关前置工具gcc version 6 or higher ld version 2.26 or highersudo yum updat…

vue axios

axios是基于promise的http库,可以用在浏览器和node.js中 特性:从浏览器中创建XMLHttpRequests、从node.js创建http请求、支持promiseApi、拦截请求和响应、取消请求、自动转换JSON数据、客户端支持防御xsrf axios就是一个库,也可以单独独立出来发送ajax。 安装: npm install…

正点原子Linux C应用编程:移植tslib并使其适配7寸LCD1024*600的GT911触摸驱动

正点原子Linux C应用编程:移植tslib并使其适配7寸LCD1024*600的GT911触摸驱动 作者在学习【正点原子】I.MX6U嵌入式Linux C应用编程指南V1.4时,发现移植tslib后,触摸事件触发不正常。 使用的硬件版本:正点原子 I.MX6U ALPHA V2.4版本底板,LCD:正点原子7寸1024*600,型号A…

记一次Hyperf定时任务内存异常问题

背景 最近时不时收到 K8S 告警提示项目 POD 出现 OOM 问题,只要触发了项目重新部署或者把 POD 删掉,内存就恢复了,过了一段时间才缓慢增长(基本上要隔几天,这也是这个问题比较难定位和复现的原因) 分析 起初以为是某一个SQL没有限制 limit 或者是程序有死循环把内存跑满了…

河道AI智能视频分析识别系统

河道AI智能视频分析识别系统智能检测方式,智能检测分析河道两边意外违反规定问题,确保人民人身安全问题,河道AI智能视频分析识别系统在初期处理伤害安全性的问题,保证水环境生态安全和人民生命安全安全性,使人和水的影响做到和睦情况,使不足的水源为社会经济的协调发展作…