惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
博客园 - 司徒正美
WordPress大学
WordPress大学
爱范儿
爱范儿
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
罗磊的独立博客
博客园_首页
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
大猫的无限游戏
大猫的无限游戏
The Cloudflare Blog
MyScale Blog
MyScale Blog
IT之家
IT之家
H
Help Net Security
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Recent Announcements
Recent Announcements
F
Fortinet All Blogs
The GitHub Blog
The GitHub Blog
Y
Y Combinator Blog
人人都是产品经理
人人都是产品经理

mafeifan 的编程技术分享

mafengwo-mp3-downloader | mafeifan 的编程技术分享 示例页面 | mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 查看 default namespace 下的 default service account名称 mafeifan 的编程技术分享 检查日志 | mafeifan 的编程技术分享 bridge fdb show dev flannel.1 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享
mafeifan 的编程技术分享
2026-01-16 · via mafeifan 的编程技术分享

这篇 文章 讲的不错,我把文章里的图抄过来了。 Redis的安装使用都非常容易,关键是设计及使用场景的运用。

导图

image.png

image.png

image.png

5个类型

string(字符串)、list(链表)、set(集合)、zset(有序集合)和 hash(散列表)

命令

字符串

优点:二进制安全,意味着该类型可以接受任何格式的数据,如JPEG图像数据或Json对象描述信息等。 在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

bash

# 选择一个数据库
> select 2
OK
> keys *
(empty array)
> set name finley
OK
> keys *
1) "name"
> get name
"finley"
> exists name
(integer) 1
> strlen name
(integer) 9
> set name "finley"
OK
> strlen name
(integer) 6
> set age 18
OK
> incr age
(integer) 19
> get age
"19"
# 从当前数据库中随机选择的一个key
> randomkey
"age"
# 重命名一个key
> rename name name2
OK
> get name
(nul)
> get name2
"finley"
# 追加字符串, 返回新字符串值的长度。
> append name hello
(integer) 11
> get name
"finleyhello"
> getrange name 6 10
"hello"
> set json '{"name":"finley","age":18}'
OK
# 设置多个键值
> mset name finley age 18
OK
> mget name age
1) "finley"
2) "18"
# 设置指定Key的过期时间为10秒。
> setex mykey 10 "hello"
OK
# 通过ttl命令查看一下指定Key的剩余存活时间(秒数),0表示已经过期,-1表示永不过期。
> ttl mykey 
(integer) 4

列表(List)

类似JS中的数组。 List类型是按照插入顺序排序的字符串链表. 如果我们是在链表的两头插入或删除元素,这将会是非常高效的操作. 如果元素插入或删除操作是作用于链表中间,那将会是非常低效的.

散列类型(Hash)

bash

> hset car:2 color "白色" name "奥迪" price 90
(integer) 3
> hmget car:2 name price
1) "\xe5\xa5\xa5\xe8\xbf\xaa"
2) "90"
> hgetall car:2
1) "color"
2) "\xe7\x99\xbd\xe8\x89\xb2"
3) "name"
4) "\xe5\xa5\xa5\xe8\xbf\xaa"
5) "price"
6) "90"

Sorted Set(有序集合)

bash

> zadd myzset 79 Jack 56 Lucy 93 Finley
(integer) 3
# 0表示第一个成员,-1表示最后一个成员。
# WITHSCORES选项表示返回的结果中包含每个成员及其分数,否则只返回成员。
> zrange myzset 0 -1 WITHSCORES
1) "Lucy"
2) "56"
3) "Jack"
4) "79"
5) "Finley"
6) "93"
# 获取成员Finley在Sorted-Set中的位置索引值。0表示第一个位置。
> zrank myzset Finley
(integer) 2
# 获取成员Finley的分数。返回值是字符串形式。
> zscore myzset Finley
"93"
# 将成员Finley的分数增加2,并返回该成员更新后的分数。
> zincrby myzset 2 Finley
"95"
# 将成员Finley的分数增加-20,并返回该成员更新后的分数。
> zincrby myzset -20 Finley
"75"
# 查看在更新了成员的分数后是否正确。
> zrange myzset 0 -1 WITHSCORES
1) "Lucy"
2) "56"
3) "Finley"
4) "75"
5) "Jack"
6) "79"
# 以位置索引从高到低的方式获取并返回此区间内的成员。
> zrevrange myzset 0 -1 WITHSCORES
1) "Jack"
2) "79"
3) "Finley"
4) "75"
5) "Lucy"
6) "56"
# 删除分数满足表达式1 <= score <= 100的成员,并返回实际删除的数量
> zremrangebyscore myzset 1 100
(integer) 3
> del myzet
(empty array)