redis从入门到进阶——数据类型、 操作、数值操作、发布订阅、消息队列、布隆过滤器、事务

本文主要是介绍redis从入门到进阶——数据类型、 操作、数值操作、发布订阅、消息队列、布隆过滤器、事务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 基础
    • 数据类型
    • 操作
    • 数值操作
  • 进阶
    • 发布订阅
    • 消息队列
    • 布隆过滤器
    • 事务

基础

数据类型

string,set, hash, list, zset

操作

  1. string符串类型:
保存一个字符串:set key value [EX seconds|PX milliseconds...] [NX|XX]EX:设置存活时间,秒为单位PX:设置存活时间,毫秒为单位NX:如果key不存在,则设置key valueXX:如果key存在,则重新设置value
保存多个字符串:mset key value [key value...]
获取值:get key
  1. hash散列:
保存一个对象:hmset key field value [field value field value ...]
获取对象单个属性值:hget key field
获取对象所有值:hgetall key
  1. list列表:
添加元素:lpush key value [value ...]
从右侧尾部添加元素:rpush key value
在指定元素value前插入元素:linsert key before value value2
获取元素:lrange key start end (0 3)
从左侧弹出元素:lpop key
从右侧弹出元素:rpop key
  1. set无序集合:单个添加得元素会无序排列
添加元素:sadd key value [value...]获取元素:smembers key
  1. zset有序集合:
添加元素:zadd key score value
获取分值:zscore key value
获取元素:zrange key start end
命令说明
SET key value用于设定指定键的值。
GET key用于检索指定键的值。
GETRANGE key start end返回 key 中字符串值的子字符。
GETSET key value将给定 key 的值设置为 value,并返回 key 的旧值。
GETBIT key offset对 key 所存储的字符串值,获取其指定偏移量上的位(bit)。
[MGET key1 key2…]批量获取一个或多个 key 所存储的值,减少网络耗时开销。
SETBIT key offset value对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
SETEX key seconds value将值 value 存储到 key中 ,并将 key 的过期时间设为 seconds (以秒为单位)。
SETNX key value当 key 不存在时设置 key 的值。
SETRANGE key offset value从偏移量 offset 开始,使用指定的 value 覆盖的 key 所存储的部分字符串值。
STRLEN key返回 key 所储存的字符串值的长度。
[MSET key value key value …]该命令允许同时设置多个键值对。
[MSETNX key value key value …]当指定的 key 都不存在时,用于设置多个键值对。
PSETEX key milliseconds value此命令用于设置 key 的值和有过期时间(以毫秒为单位)。
INCR key将 key 所存储的整数值加 1。
INCRBY key increment将 key 所储存的值加上给定的递增值(increment)。
INCRBYFLOAT key increment将 key 所储存的值加上指定的浮点递增值(increment)。
DECR key将 key 所存储的整数值减 1。
DECRBY key decrement将 key 所储存的值减去给定的递减值(decrement)。
APPEND key value该命令将 value 追加到 key 所存储值的末尾。
命令说明
[LPUSH key value1 value2]在列表头部插入一个或者多个值。
LRANGE key start stop获取列表指定范围内的元素。
RPUSH key value1 [value2]在列表尾部添加一个或多个值。
LPUSHX key value当储存列表的 key 存在时,用于将值插入到列表头部。
RPUSHX key value当存储列表的 key 存在时,用于将值插入到列表的尾部。
LINDEX key index通过索引获取列表中的元素。
LINSERT key before|after pivot value指定列表中一个元素在它之前或之后插入另外一个元素。
LREM key count value表示从列表中删除元素与 value 相等的元素。count 表示删除的数量,为 0 表示全部移除。
LSET key index value表示通过其索引设置列表中元素的值。
LTRIM key start stop保留列表中指定范围内的元素值。
LPOP key从列表的头部弹出元素,默认为第一个元素。
RPOP key从列表的尾部弹出元素,默认为最后一个元素。
LLEN key用于获取列表的长度。
RPOPLPUSH source destination用于删除列表中的最后一个元素,然后将该元素添加到另一个列表的头部,并返回该元素值。
[BLPOP key1 key2 ] timeout用于删除并返回列表中的第一个元素(头部操作),如果列表中没有元素,就会发生阻塞, 直到列表等待超时或发现可弹出元素为止。
[BRPOP key1 key2 ] timeout用于删除并返回列表中的最后一个元素(尾部操作),如果列表中没有元素,就会发生阻塞, 直到列表等待超时或发现可弹出元素为止。
BRPOPLPUSH source destination timeout从列表中取出最后一个元素,并插入到另一个列表的头部。如果列表中没有元素,就会发生 阻塞,直到等待超时或发现可弹出元素时为止。
命令说明
[HDEL key field2 field2]用于删除一个或多个哈希表字段。
HEXISTS key field 用于确定哈希表字段是否存在。
HGET key field获取 key 关联的哈希字段的值。
HGETALL key获取 key 关联的所有哈希字段值。
HINCRBY key field increment给 key 关联的哈希字段做整数增量运算 。
HINCRBYFLOAT key field increment给 key 关联的哈希字段做浮点数增量运算 。
HKEYS key获取 key 关联的所有字段和值。
HLEN key获取 key 中的哈希表的字段数量。
HMSET key field1 value1 [field2 value2 ]在哈希表中同时设置多个 field-value(字段-值)
HMGET key field1 [field2]用于同时获取多个给定哈希字段(field)对应的值。
HSET key field value用于设置指定 key 的哈希表字段和值(field/value)。
HSETNX key field value仅当字段 field 不存在时,设置哈希表字段的值。
HVALS key用于获取哈希表中的所有值。
HSCAN key cursor迭代哈希表中的所有键值对,cursor 表示游标,默认为 0。

数值操作

INCR命令:

如果key不存在就自动创建key,并将value初始化为1. incr key

DECR命令:与incr相反

decr key

INCRBY命令:

每次增加increment增量:incrby key increment

DECRBY命令:

每次减少decrement减量:decrby key decrement

INCRBYFLOAT命令:

可以操作浮点数得命令,浮点数可正可负从而实现对数值得增减:incrbyfloat key increment

进阶

发布订阅

subscribe订阅频道:

订阅:subscribe key

publish发布消息:

发布消息:publish key message
命令说明
PSUBSCRIBE pattern [pattern …]订阅一个或多个符合指定模式的频道。
PUBSUB subcommand [argument [argument …]]查看发布/订阅系统状态,可选参数 1) channel 返回在线状态的频道。 2) numpat 返回指定模式的订阅者数量。 3) numsub 返回指定频道的订阅者数量。
PUBSUB subcommand [argument [argument …]]将信息发送到指定的频道。
PUNSUBSCRIBE [pattern [pattern …]]退订所有指定模式的频道。
SUBSCRIBE channel [channel …]订阅一个或者多个频道的消息。
UNSUBSCRIBE [channel [channel …]]退订指定的频道。

消息队列

布隆过滤器

http://c.biancheng.net/redis/bloom-filter.html

事务

命令说明
MULTI开启一个事务
EXEC执行事务中的所有命令
WATCH key [key …]在开启事务之前用来监视一个或多个key 。如果事务执行时这些 key 被改动过,那么事务将被打断。
DISCARD取消事务。
UNWATCH取消 WATCH 命令对 key 的监控。

这篇关于redis从入门到进阶——数据类型、 操作、数值操作、发布订阅、消息队列、布隆过滤器、事务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1072770

相关文章

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Mysql表的简单操作(基本技能)

《Mysql表的简单操作(基本技能)》在数据库中,表的操作主要包括表的创建、查看、修改、删除等,了解如何操作这些表是数据库管理和开发的基本技能,本文给大家介绍Mysql表的简单操作,感兴趣的朋友一起看... 目录3.1 创建表 3.2 查看表结构3.3 修改表3.4 实践案例:修改表在数据库中,表的操作主要

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

SpringKafka消息发布之KafkaTemplate与事务支持功能

《SpringKafka消息发布之KafkaTemplate与事务支持功能》通过本文介绍的基本用法、序列化选项、事务支持、错误处理和性能优化技术,开发者可以构建高效可靠的Kafka消息发布系统,事务支... 目录引言一、KafkaTemplate基础二、消息序列化三、事务支持机制四、错误处理与重试五、性能优

SpringIntegration消息路由之Router的条件路由与过滤功能

《SpringIntegration消息路由之Router的条件路由与过滤功能》本文详细介绍了Router的基础概念、条件路由实现、基于消息头的路由、动态路由与路由表、消息过滤与选择性路由以及错误处理... 目录引言一、Router基础概念二、条件路由实现三、基于消息头的路由四、动态路由与路由表五、消息过滤

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

Redis 中的热点键和数据倾斜示例详解

《Redis中的热点键和数据倾斜示例详解》热点键是指在Redis中被频繁访问的特定键,这些键由于其高访问频率,可能导致Redis服务器的性能问题,尤其是在高并发场景下,本文给大家介绍Redis中的热... 目录Redis 中的热点键和数据倾斜热点键(Hot Key)定义特点应对策略示例数据倾斜(Data S