redis操作总结

Python操作Redis 文章目录安装和使用安装普通连接连接池Python操作RedisString操作Key操作List操作Set操作Sorted Set操作Hash操作管道Django中使用redis 安装和使用 安装 安装redis模块 pip3 install redis 普通连接 redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令... 阅读详情

Redis 核心数据类型完全手册(详细版)

一、通用键操作(所有类型通用)

命令语法详细说明
keyskeys pattern查找所有匹配 pattern 的键,如 keys * 返回所有键,keys user:* 返回所有以 user: 开头的键。⚠️ 生产环境慎用,数据量大时会阻塞 Redis
typetype key返回键对应值的数据类型,返回值:string、list、set、hash、zset、none(不存在)
deldel key [key ...]删除一个或多个键,返回成功删除的个数
existsexists key [key ...]判断键是否存在,返回存在的个数(注意:多个键时返回存在的数量)
ttlttl key查看键剩余的过期时间,单位:秒
expireexpire key seconds为键设置过期时间(秒),到期后自动删除
pexpirepexpire key milliseconds为键设置过期时间(毫秒)
persistpersist key移除键的过期时间,使其变为永久有效

ttl 返回值详解:

返回值含义说明
-2键不存在该键已被删除或从未存在
-1永久有效键没有设置过期时间
>=0剩余秒数键距离过期还剩多少秒

示例:

bash

127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> expire name 60
(integer) 1
127.0.0.1:6379> ttl name
(integer) 58
127.0.0.1:6379> persist name
(integer) 1
127.0.0.1:6379> ttl name
(integer) -1
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> ttl name
(integer) -2

二、字符串(String)

底层原理: 简单动态字符串(SDS),可以存储字符串、整数、浮点数,最大支持 512MB。

命令语法详细说明
setset key value [EX seconds] [PX milliseconds] [NX|XX]设置键值对。EX:过期秒数;PX:过期毫秒数;NX:仅当键不存在时设置;XX:仅当键存在时设置
getget key获取键对应的值,不存在返回 (nil)
msetmset key1 value1 key2 value2 ...批量设置多个键值对,原子操作
mgetmget key1 key2 ...批量获取多个键的值
incrincr key将键的值加 1(值必须为数字),不存在则初始为 0 再加 1
decrdecr key将键的值减 1(值必须为数字)
incrbyincrby key n将键的值增加 n(n 可为正负整数)
decrbydecrby key n将键的值减少 n
incrbyfloatincrbyfloat key n将键的值增加 n(n 可为浮点数)
strlenstrlen key获取键对应值的字符串长度(字节数)
appendappend key value在原有值末尾追加内容,返回新值的长度
getsetgetset key value设置新值并返回旧值(原子操作)
setnxsetnx key value仅当键不存在时设置(等同于 set key value NX),常用于分布式锁

示例:

bash

127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> get name
"zhangsan"
127.0.0.1:6379> strlen name
(integer) 8
127.0.0.1:6379> append name lisi
(integer) 12
127.0.0.1:6379> get name
"zhangsanlisi"

127.0.0.1:6379> set age 18
OK
127.0.0.1:6379> incr age
(integer) 19
127.0.0.1:6379> incrby age 5
(integer) 24
127.0.0.1:6379> decrby age 3
(integer) 21

三、列表(List)—— 有序、可重复

底层原理: Redis 3.2 之前使用压缩列表(ziplist)或双向链表(linkedlist),3.2 之后统一使用 quicklist(压缩列表 + 双向链表的混合体)。特点: 有序、可重复、支持双端操作,最多存储 2^32 - 1 个元素。

命令语法详细说明
lpushlpush key value [value ...]将一个或多个值从左侧(头部)插入列表,返回插入后列表长度
rpushrpush key value [value ...]将一个或多个值从右侧(尾部)插入列表,返回插入后列表长度
lpoplpop key从左侧(头部)移除并返回第一个元素,列表为空返回 (nil)
rpoprpop key从右侧(尾部)移除并返回最后一个元素,列表为空返回 (nil)
blpopblpop key [key ...] timeout阻塞式左弹出,列表为空则阻塞等待 timeout 秒,超时返回 (nil)
brpopbrpop key [key ...] timeout阻塞式右弹出,列表为空则阻塞等待
llenllen key获取列表长度(元素个数)
lrangelrange key start stop获取指定索引范围内的元素。索引从 0 开始,-1 表示最后一个元素
lindexlindex key index获取指定索引位置的元素,索引可为负数(-1 表示最后一个)
lsetlset key index value修改指定索引位置的元素值,索引越界报错
linsertlinsert key BEFORE|AFTER pivot value在列表中某个指定元素的前/后插入新元素
lremlrem key count value移除列表中与 value 相等的元素。count > 0 从头部开始移除 count 个;count < 0 从尾部开始移除 |count| 个;count = 0 移除所有
rpoplpushrpoplpush source destination将 source 列表尾元素弹出并推入 destination 列表头部(原子操作)

示例:

bash

127.0.0.1:6379> lpush list a b c
(integer) 3
127.0.0.1:6379> lrange list 0 -1
1) "c"
2) "b"
3) "a"

127.0.0.1:6379> rpush list x y z
(integer) 6
127.0.0.1:6379> lrange list 0 -1
1) "c"
2) "b"
3) "a"
4) "x"
5) "y"
6) "z"

127.0.0.1:6379> lpop list
"c"
127.0.0.1:6379> rpop list
"z"
127.0.0.1:6379> llen list
(integer) 4

四、集合(Set)—— 无序、不重复

底层原理: 当元素都为整数且数量较少时使用整数集合(intset),否则使用哈希表(dict,与 Java 的 HashSet 类似)。特点: 无序、元素唯一(自动去重)、支持集合运算,最多存储 2^32 - 1 个元素。

命令语法详细说明
saddsadd key member [member ...]向集合中添加一个或多个元素,已存在的元素会被忽略,返回成功添加的元素个数
sremsrem key member [member ...]从集合中移除一个或多个元素,返回成功移除的元素个数(图中 arem 实际为 srem)
smemberssmembers key获取集合中所有元素。⚠️ 元素量大时慎用,会阻塞 Redis
sismembersismember key member判断元素是否在集合中,存在返回 1,不存在返回 0
scardscard key获取集合中元素的个数
sintersinter key [key ...]求多个集合的交集(共同元素)
sinterstoresinterstore destination key [key ...]求交集并将结果存储到 destination 集合中
sunionsunion key [key ...]求多个集合的并集(所有不重复元素)
sunionstoresunionstore destination key [key ...]求并集并将结果存储到 destination 集合中
sdiffsdiff key [key ...]求多个集合的差集(第一个集合中有但其他集合中没有的元素)
sdiffstoresdiffstore destination key [key ...]求差集并将结果存储到 destination 集合中
spopspop key [count]从集合中随机移除并返回一个或多个元素
srandmembersrandmember key [count]从集合中随机返回一个或多个元素(不移除)
smovesmove source destination member将元素从 source 集合移动到 destination 集合(原子操作)

示例:

bash

127.0.0.1:6379> sadd fruits apple banana orange apple
(integer) 2   # apple 重复,只添加了 apple 和 banana,orange 已存在? 实际返回2说明apple已存在被忽略
127.0.0.1:6379> smembers fruits
1) "banana"
2) "apple"
3) "orange"

127.0.0.1:6379> sadd set1 a b c d
(integer) 4
127.0.0.1:6379> sadd set2 c d e f
(integer) 4

127.0.0.1:6379> sinter set1 set2
1) "c"
2) "d"

127.0.0.1:6379> sunion set1 set2
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
6) "f"

127.0.0.1:6379> sdiff set1 set2
1) "a"
2) "b"

127.0.0.1:6379> sismember set1 a
(integer) 1
127.0.0.1:6379> sismember set1 x
(integer) 0

五、哈希(Hash)—— 键值对集合

底层原理: 当字段数量少且值较小时使用压缩列表(ziplist),否则使用哈希表(dict,与 Java 的 HashMap 类似)。特点: 适合存储对象,可单独操作对象的某个字段,最多存储 2^32 - 1 个字段。

命令语法详细说明
hsethset key field value [field value ...]设置哈希表中一个或多个字段的值,返回成功新增的字段个数
hgethget key field获取哈希表中指定字段的值,字段不存在返回 (nil)
hgetallhgetall key获取哈希表中所有字段和值(交替返回:field1, value1, field2, value2...)。⚠️ 字段量大时慎用
hdelhdel key field [field ...]删除哈希表中一个或多个字段,返回成功删除的字段个数
hexistshexists key field判断哈希表中是否存在指定字段,存在返回 1,不存在返回 0
hlenhlen key获取哈希表中字段的数量
hkeyshkeys key获取哈希表中所有字段名
hvalshvals key获取哈希表中所有字段值
hmsethmset key field value [field value ...]批量设置多个字段值(功能同 hset,已废弃但仍可用)
hmgethmget key field [field ...]批量获取多个字段的值
hincrbyhincrby key field n将哈希表中指定字段的整数值增加 n
hincrbyfloathincrbyfloat key field n将哈希表中指定字段的浮点数值增加 n
hsetnxhsetnx key field value仅当字段不存在时设置(原子操作)

示例:

bash

127.0.0.1:6379> hset user:1001 name zhangsan age 25 city beijing
(integer) 3

127.0.0.1:6379> hget user:1001 name
"zhangsan"

127.0.0.1:6379> hgetall user:1001
1) "name"
2) "zhangsan"
3) "age"
4) "25"
5) "city"
6) "beijing"

127.0.0.1:6379> hincrby user:1001 age 1
(integer) 26

127.0.0.1:6379> hexists user:1001 email
(integer) 0

127.0.0.1:6379> hdel user:1001 city
(integer) 1

六、有序集合(ZSet)—— 带权重、有序、不重复

底层原理: 当元素数量少且值较小时使用压缩列表(ziplist),否则使用跳表(skiplist)+ 哈希表(dict) 的组合。跳表负责范围查询和排序,哈希表负责 O(1) 的单点查询。特点: 元素唯一(不可重复),每个元素绑定一个权重(score),按权重自动升序排序,支持范围查询。

命令语法详细说明
zaddzadd key [NX|XX] [GT|LT] [CH] [INCR] score member [score member ...]添加一个或多个元素(带权重)。权重为数字(整数或浮点数),元素已存在则更新权重
zremzrem key member [member ...]移除一个或多个元素,返回成功移除的个数
zcardzcard key获取有序集合中元素的个数
zrangezrange key start stop [WITHSCORES]按索引范围获取元素(升序,权重小→大)。WITHSCORES 同时返回权重值
zrevrangezrevrange key start stop [WITHSCORES]按索引范围获取元素(降序,权重大→小)
zrangebyscorezrangebyscore key min max [WITHSCORES] [LIMIT offset count]按权重范围获取元素(升序)。min 和 max:-inf 表示负无穷,+inf 表示正无穷;(10 表示不包含 10
zrevrangebyscorezrevrangebyscore key max min [WITHSCORES]按权重范围获取元素(降序)
zscorezscore key member获取指定元素的权重值,不存在返回 (nil)
zrankzrank key member获取指定元素的排名(升序,从 0 开始),不存在返回 (nil)
zrevrankzrevrank key member获取指定元素的排名(降序,从 0 开始)
zcountzcount key min max统计权重在 min 和 max 之间的元素个数
zincrbyzincrby key increment member将指定元素的权重增加 increment(正数增加,负数减少)
zremrangebyrankzremrangebyrank key start stop按索引范围删除元素
zremrangebyscorezremrangebyscore key min max按权重范围删除元素

权重排序规则:

  • 默认按权重从小到大(升序)排列

  • 权重相同的情况下,按元素本身的字典序排列(如 "a" < "b")

示例(基于你的截图):

bash

# 添加 3 个元素,权重分别为 10、50、30
127.0.0.1:6379> zadd zs1 10 zhangsan 50 lisi 30 wangwu
(integer) 3

# 再添加一个元素,权重 15
127.0.0.1:6379> zadd zs1 15 zhaoliu
(integer) 1

# 删除 zhaoliu
127.0.0.1:6379> zrem zs1 zhaoliu
(integer) 1

# 查看集合大小(目前剩 3 个)
127.0.0.1:6379> zcard zs1
(integer) 3

# 删除 wangwu
127.0.0.1:6379> zrem zs1 wangwu
(integer) 1

# 再次查看大小(剩 2 个)
127.0.0.1:6379> zcard zs1
(integer) 2

# 按索引取第 0~1 个(升序,权重最小在前)
127.0.0.1:6379> zrange zs1 0 1
1) "zhangsan"   # 权重 10
2) "lisi"       # 权重 50

# 按索引取全部
127.0.0.1:6379> zrange zs1 0 5
1) "zhangsan"
2) "lisi"

# 按权重范围取 10~20 之间的元素
127.0.0.1:6379> zrangebyscore zs1 10 20
1) "zhangsan"   # 只有 zhangsan 权重为 10

# 按权重范围取 10~100 之间的元素
127.0.0.1:6379> zrangebyscore zs1 10 100
1) "zhangsan"   # 权重 10
2) "lisi"       # 权重 50

# 查看元素权重(存在)
127.0.0.1:6379> zscore zs1 zhangsan
"10"

# 查看元素权重(不存在)
127.0.0.1:6379> zscore zs1 zhangli
(nil)

# 查看元素排名(升序,从 0 开始)
127.0.0.1:6379> zrank zs1 zhangsan
(integer) 0
127.0.0.1:6379> zrank zs1 lisi
(integer) 1

七、五种数据类型对比总结

对比维度StringListSetHashZSet
是否有序—✅ 有序(插入顺序)❌ 无序—✅ 有序(权重排序)
是否可重复—✅ 可重复❌ 不可重复—❌ 不可重复
是否有权重—❌ 无❌ 无—✅ 有 score
底层结构SDSquicklistintset / dictziplist / dictziplist / skiplist+dict
范围查询不支持支持按索引不支持不支持支持按索引/权重
集合运算不支持不支持✅ 支持交集/并集/差集不支持✅ 支持交集/并集(需特殊命令)
典型场景缓存、计数器、分布式锁消息队列、最新列表、日志去重、共同好友、抽奖、标签存储对象(用户信息、商品信息)排行榜、优先级队列、延时任务

八、Set 与 ZSet 对比详解

对比维度Set(集合)ZSet(有序集合)
排序方式无序(按哈希随机存储)按 score 权重升序排列
权重概念❌ 无✅ 每个元素都有一个 score 权重
范围查询❌ 不支持(只能取全部)✅ 支持按索引范围(zrange)和按权重范围(zrangebyscore)
相同点元素都是 String 类型,且都不允许重复元素都是 String 类型,且都不允许重复
底层结构intset / dictziplist / skiplist + dict
典型场景共同好友、好友推荐、抽奖池去重游戏排行榜、带权重的任务队列、延时队列

九、高频面试题及追问

Q1:zrange 和 zrangebyscore 有什么区别?

命令排序方式筛选条件用途
zrange按权重排序(升序/降序)按索引位置筛选取第几名到第几名,如"取前三名"
zrangebyscore按权重排序(升序/降序)按权重数值范围筛选取分数在某个区间内的,如"取分数在 80~100 之间的"

Q2:ZSet 的底层为什么用跳表而不用红黑树/B+树?

  • 跳表实现简单,代码量远小于红黑树

  • 范围查询效率高:跳表在范围查询时比红黑树更友好(红黑树需要中序遍历)

  • 并发友好:跳表更容易实现无锁/细粒度锁

  • B+树主要用于磁盘存储(如 MySQL),Redis 在内存中,跳表足够

Q3:keys * 为什么不推荐在生产环境使用?

  • Redis 是单线程模型

  • keys * 会遍历整个键空间,时间复杂度 O(n)

  • 数据量大时会长时间阻塞 Redis,导致所有其他请求超时

  • 替代方案:使用 SCAN 命令渐进式遍历,每次只返回少量数据,不阻塞

Q4:ttl 返回 -1 和 -2 分别代表什么?

返回值含义场景
-1永久有效,无过期时间使用 persist 移除过期时间后;或从未设置过期时间
-2键不存在或已过期被删除键被 del 删除;或 expire 到期后自动删除

Q5:ZSet 中权重相同怎么办?排序规则是什么?

  • 先按权重从小到大排序

  • 权重相同时,按元素值的字典序排列(如 "a" < "b" < "c")

Q6:Hash 和 String(存 JSON)的区别?各自适用场景?

对比维度HashString(JSON)
修改字段可单独修改某个字段(hset),无需整体覆盖修改一个字段需要整体读取→修改→整体写入
内存占用字段少时更省内存(ziplist 压缩)整体存为字符串,开销较大
读取便利性可单独获取某个字段(hget)需要整体取出后解析 JSON
适用场景对象字段多、需要频繁修改部分字段对象整体读取为主、不常修改

Q7:Redis 的过期删除策略是什么?

  • 惰性删除:访问 key 时检查是否过期,过期则删除

  • 定期删除:每隔一段时间(默认 100ms)随机抽取一批 key 检查并删除过期 key

  • 两者结合:惰性删除保证 CPU 不浪费,定期删除保证过期 key 不长期占用内存

Q8:Redis 的内存淘汰策略有哪些?(当内存满了)

策略说明
noeviction不淘汰,写入报错
allkeys-lru所有 key 中淘汰最近最少使用
volatile-lru设置了过期时间的 key 中淘汰 LRU
allkeys-random所有 key 中随机淘汰
volatile-random设置了过期时间的 key 中随机淘汰
volatile-ttl淘汰设置了过期时间且剩余 TTL 最短的 key
allkeys-lfu所有 key 中淘汰最不经常使用
volatile-lfu设置了过期时间的 key 中淘汰 LFU

十、业务场景速查

业务场景推荐数据结构使用命令示例
缓存用户信息Hashhset user:1001 name zhangsan age 25
分布式锁Stringset lock:key uuid NX EX 10
文章浏览量/点赞数Stringincr article:1001:views
最新消息列表(按时间)Listlpush news:list "news1" → lrange news:list 0 9
消息队列(生产者-消费者)List生产者 rpush queue task,消费者 lpop queue 或 brpop queue 5
抽奖去重(防止重复中奖)Setsadd lottery:2026 user1001 → smembers lottery:2026
共同好友/好友推荐Setsinter user:1001:friends user:1002:friends
商品标签/文章标签Setsadd article:1:tags java redis → sinter article:1:tags article:2:tags
实时排行榜(如游戏排行榜)ZSetzadd rank 100 player1 → zrevrange rank 0 9 WITHSCORES
带权重的任务队列(优先处理高权重)ZSetzadd task_queue 10 task_a → zrangebyscore task_queue 0 10
延时任务(按时间权重排序)ZSet用当前时间戳做权重:zadd delay_queue $(date +%s) task,定时任务取权重小于当前时间的
商品筛选(按价格/销量区间)ZSetzrangebyscore products:price 100 500
【Redis】golang操作Redis基础入门 指定 Redis 服务器的地址,包括主机和端口号。:在 Go 中,上下文用于控制请求的生命周期,包括取消请求和设置超时时间等。:在 Go 中,上下文用于控制请求的生命周期,包括取消请求和设置超时时间等。:在 Go 中,上下文用于控制请求的生命周期,包括取消请求和设置超时时间等。:在 Go 中,上下文用于控制请求的生命周期,包括取消请求和设置超时时间等。:在 Go 中,上下文用于控制请求的生命周期,包括取消请求和设置超时时间等。:在 Go 中,上下文用于控制请求的生命周期,包括取消请求和设置超时时间等。 阅读详情

相关推荐

ADS1293心电图模块实战:从电极贴片到信号采集的全流程指南

本文提供了一份基于TI ADS1293芯片的心电图采集系统全流程实战指南。文章深入探讨了从电极贴片选择与皮肤预处理、ADS1293前端配置(包括PGA、RLD和威尔逊网络),到PCB布局、电源去耦以及固件滤波与运动伪影处理等关键环节,旨在帮助硬件工程师和嵌入式开发者构建稳定可靠的可穿戴心电监测设备。

weixin_29201313的博客 386

Java操作Redis

Jedis 是 Redis 的 Java 版本的客户端实现。获取连接执行操作关闭连接。

2401_85217463的博客 1082

【汇编】TSR内存驻留程序实现与删除及热键设置——以实现时钟为例

【汇编】TSR内存驻留程序实现与删除及热键设置——以实现时钟为例 最近完成了一个关于时钟中断驻留的汇编大作业,对于TSR很是感兴趣,查阅了不少资料,发现现在很少相关的内容资料。尤其是TSR删除这一块几乎找不到在低的水平完全正确的做法,下面我对于TSR的删除我会介绍一种几乎小程序可以完成的方法。当然,标题中的TSR实现,热键设置我也会一一介绍。

cly116的博客 3971

使用Python操作Redis

大家好,在当今的互联网时代,随着数据量和用户量的爆发式增长,对于数据存储和处理的需求也日益增加。Redis作为一种高性能的键值存储数据库,以其快速的读写速度、丰富的数据结构支持和灵活的应用场景而备受青睐。本文将介绍Redis数据库,并探讨在现代应用程序中如何使用Python操作Redis来提高应用程序的性能和可靠性。

若不知道要驶向哪个码头,那么任何风都不会是顺风。 4764

SimpleFOC STM32实战:基于F103与HAL库,剖析速度环与电流环的协同控制

本文详细介绍了基于STM32F103与HAL库的SimpleFOC实战应用,重点剖析速度闭环控制与电流环的协同工作原理。通过开发环境搭建、参数调试技巧及性能优化方案,帮助开发者高效实现无刷电机精准控制,适用于机器人、无人机等高精度应用场景。

weixin_29170327的博客 478

Win10 环境下 ISE14.7 iMPACT 闪退的 DLL 修复方案 - FPGA 开发实战

本文详细介绍了在Win10系统下解决ISE14.7 iMPACT工具闪退问题的DLL修复方案,特别针对FPGA开发中常见的兼容性问题。通过替换关键DLL文件,有效解决了iMPACT在生成PROM文件时的崩溃问题,并提供了详细的步骤说明和注意事项,帮助开发者提升工作效率。

weixin_29197051的博客 210

Redis常见操作

Redis基础操作与数据类型指南 本文介绍了Redis的基础服务操作和主要数据类型的使用方法。服务管理包括安装、启动和停止Redis服务。Redis支持五种数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)和Zset(有序集合)。文章详细讲解了String类型的各种操作命令,如设置/获取键值、批量操作、自增、位操作等,以及通用的键操作如查看、删除、重命名等。此外还介绍了List和Hash类型的基本操作,包括创建、添加元素、索引访问、删除等。所有命令均配有示例说明,帮助理解R

smy273849的博客 2260

Flash芯片的VCC上电到可操作时间过长

Flash的VCC上电到操作时间(tVSL)通常有最大值限制,如果超过这个时间,核心风险是状态机不同步和指令锁存错误。比如芯片内部振荡器可能已经尝试启动又休眠了,但主控却在这之后才发送指令,导致完全 misinterpreted。Flash芯片的(从电源上电到可以正常进行读写操作的时间)如果过长,会产生一系列负面影响简单来说,这个时间过长意味着电源上升速度太慢,违反了芯片的要求。

qq_61918649的博客 723

使用Spring Data Redis操作Redis

使用Spring Data Redis操作Redis、RedisTemplate

weixin_61769871的博客 1472

解决rt-thread上使用SPI+DMA

首先阐述下遇到的问题 使用SPI读取icm20602数据,读取频率为1000hz,使用stm32f407主控,发现CPU占用率达到了70%,将此线程注释掉后CPU占用率掉到25%,看来这里要着重优化,便萌生了使用DMA的想法。 使用SPI+DMA要进行的配置 1.开启RTT设备驱动。点击自己的工程 ->RT-Thread Setting2.在board.hzhong3.在board.c文件里加入以下函数,此函数受设备框架调用 void HAL_SPI_MspInit(SPI_HandleTypeDef

响望的博客 8090

Augustus手动安装教程

本文记载了如何结合conda手动安装Augustus

m0_65437087的博客 1257

什么是redis? 如何在SpringBoot中集成和操作redis?

本篇将带你快速了解什么是redis,以及学会如何在SpringBoot工程下集成和操作redis数据库。

qq_56999608的博客 1540

【零基础教程】HEC-RAS 1D/2D全流程模拟指南|从水动力到水质建模一次搞定!

HEC-RAS由美国陆军工程兵团水文研究中心研制,具有完整的一二维耦合的水动力及水环境模拟功能,也具有闸、涵洞、桥梁以及泵站等水利构筑物的模拟能力;同时也可以与HEC研制的水文模型(HMS)、洪水淹没风险和损失分析软件(FDA)等耦合,是免费软件中使用最方便、应用最广泛的软件之一。2.HEC-RAS与HEC-HMS的耦合(不详细讲HEC-HMS)3.淹没风险分析软件HEC-FDA与HEC-RAS耦合。案例十八:HEC-RAS与HEC-HMS的耦合。案例十九:HEC-RAS与HEC-FDA的耦合。

weixin_48230888的博客 873

【Redis】redis入门+java操作redis

启动服务就不能双击了要这样,在redis目录这里有多种方法,见博文。

m0_67391521的博客 1050

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Redis操作

Redis是一款高性能内存数据库,支持多种数据结构(字符串、哈希、列表等),常用于缓存、消息队列等场景。本文介绍了Redis的配置参数(端口、持久化规则等)和Python操作指令,包括字符串、键、列表、哈希、集合等数据类型的CRUD操作。Redis以微秒级响应、持久化机制和分布式特性成为现代应用开发的核心组件,通过合理配置可满足不同规模需求。

2401_82362418的博客 596

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

如何在在Java中操作Redis

前面我们讲解了Redis的常用命令,这些命令是我们操作Redis的基础,那么我们在java程序中应该如何操作Redis呢?这就需要使用Redis的Java客户端,就如同我们使用JDBC操作MySQL数据库一样。JedisLettuceRedissonSpring 对 Redis 客户端进行了整合,提供了 Spring Data Redis,在Spring Boot项目中还提供了对应的Starter,即 spring-boot-starter-data-redis。

几许的博客 3017

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

使用redis-cli操作redis

redis-cli是原生redis自带的命令行工具,可以帮助我们通过简单的命令连接redis服务,并进行数据管理,即redis键(key)和redis数据结构的管理。

sinat_20471177的博客 1万+

Go操作Redis

Redis是一个开源的内存数据库,Redis提供了多种不同类型的数据结构,很多业务场景下的问题都可以很自然地映射到这些数据结构上。除此之外,通过复制、持久化和客户端分片等特性,我们可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统。

weixin_72525373的博客 1144

Redis简单操作

Redis简单操作 文章目录Redis简单操作1.使用docker安装redis2.数据类型2.1 String(字符串)2.2 Hash(哈希)2.3 List(列表)2.4 Set(集合)2.5 zset(sorted set:有序集合)2.6 Redis GEO3.基本操作3.1 检查key是否存在3.2 为给定 key 设置过期时间,以秒计。3.3 从当前数据库中随机返回一个 key 。3.4 修改 key 的名称3.5 仅当 newkey 不存在时,将 key 改名为 newkey 。3.6 返回

naumy的博客 211

使用PHP-redis操作Redis

本文整理常用的基础的Redis操作方法

Dw_hhht的博客 879

在Java中操作Redis

在Spring项目中,可以使用Spring Data Redis来简化操作。要想通过Java操作Redis,需要借助“Redis的Java客户端” —— Spring Data Redis。注意:Redis的Java客户端有很多,我们只是选择了其中的一种,也就是Spring Data Redis。好了,以上就是Redis基本用法,要想进阶学习Redis缓存数据库,可以找点教学视频,完善一下自身知识技能。此处我的Redis密码是root,这个密码是后来自己设置的,我在前面文章里讲到过这一操作。

casually的博客 594

Go 操作 Redis

本文介绍了Go语言中go-redis库的基本使用。主要内容包括:Redis简介及其支持的数据结构,Redis应用场景如缓存、计数、排行榜等,以及如何通过Docker快速搭建Redis环境。重点讲解了go-redis库的安装和三种连接方式(普通模式、哨兵模式、集群模式),并提供了基本操作示例,包括字符串和有序集合的常用命令。文章还简要提到了Pipeline网络优化技术,帮助开发者高效操作Redis数据库。

优快云 人工智能领域创作者,专注大模型部署、AI Agent、AI Infra、推理框架与工程实践,持续分享企业级 AI 应用落地经验与技术探索。 824

使用Jedis操作Redis

Jedis作为Java操作Redis使用最多的Java客户端,本篇文章介绍的就是使用Jedis操作Redis。使用maven需要导入的依赖: <!-- Redis客户端 --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artif...

低调做人,高调做事 327

Redis各种操作封装

package com.ydq.redis.utils; import com.codyy.datahandling.group.MapDataGroup; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.*; import org...

ydq402的专栏 653
上一篇: 从面向对象到Pygame游戏开发:Python进阶学习实战总结
下一篇: [特殊字符] Linux 完整练习手册
python666Lc
博客等级 码龄126天 1粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值