redis学习----Redis入门
Redis
http://try.redis.io/
Redis 的数据类型
在
- String
- Hash
- List
- Set
- ZSet
数据操作
由于
set name "test" 这里重复使用set 可以对这条数据进行修改
get name => "test"
以原子的方式递增存储在给定键上的值
由于
set count 10
incr count => 11
incr count =>12
Redis 中控制键的存在时间
SET lock "lock"
EXPIRE lock 120 //120 秒后会自动删除
TTL lock => 113 //113 秒后会自动删除
TTL lock => (integer)-2 //lock 被销毁
Redis 中更复杂的数据结构
列表
与列表交互的命令有
rpush:将新值放在列表的末尾
lpush:将新值放在列表的开头
lrange:查询列表的子集,它有两个参数,第一个是指定开始参数起始位置(从
llen:返回列表的当前长度
lpop:从列表中删除第一个元素并返回它
rpop:从列表中删除最后一个元素并返回它
rpush friends 'alice'
lpush friends 'alice'
lrange friends => "alice" "alice"
llen friends => 2
lpop friends => "alice"
rpop friends => nul
集合
集合类似于列表,但是集合里面不能存储相同的值,并且集合的存储是无序的,使用集合的命令有是
sadd:将给定值添加到集合中
srem:从集合中删除给定值
sismember:测试给定值是否在集合中,如果在,则返回
smemebrs:返回此集合中所有成员的列表
sunion:两个或多个集合组合并返回所有元素的列表
sadd super 'fly'
srem super fly
sismember super 'fly' => 0
sismembers => nul
sadd bired 'fly'
sunion super bired => "fly"
Sorted Sets(有序集合)
集合本生是没有排序的,但是由于它们未排序,因此无法解决许多问题。
zadd: 添加一个有序集合,它有两个参数,第一个是排序的优先级,第二个是值。
zrange:查看一个有序集合某一区间内的值。它也有连个参数,第一个是查找的起始位置,第二个是结束位置,第二个如果是
zadd black 1101 'alice'
zadd black 1111 'jack'
zrange black 0 -1 => "alice" "jack"
Hashes
hset:
hgetall:获取所有保存的数据
hget:获取一个可能存在的字段值
hdel:删除某一个字段
hincrby:以原子的方式递增
hset user name 'john smith' email 'john.simith@example.com'
hgetall user => "name" "john smith" "email" "john.simith@example.com"
hget user name => "john smith"
hset count visits 10
hincrby count visits 1 => 11
hdel count vistis
Redis 中的各类型应用场景
类型 | 简介 | 特性 | 场景 |
---|---|---|---|
String | 二进制安全 | 可以包含任何数据 |
/--- |
Hash | 键值对集合 |
适合存储对象 |
存储、读取、修改用户属性 |
List | 链表 |
增删快 |
|
Set | 哈希表实现 |
1、添加、删除 |
1、共同好友 |
Sorted Set | 将 |
数据插入集合时 |
1、排行榜 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!