redis学习教程,springboot整合reidis,springboot整合redis遇到的问题

redis学习教程,springboot整合reidis,springboot整合redis遇到的问题

1、下载redis

https://github.com/tporadowski/redis/releases

 

 2、修改配置文件

 

 

 

 

 

 3、启动redis

redis-server.exe redis.windows.conf

 

 参考:https://blog.csdn.net/cwp964219374/article/details/140448830

4、启动客户端连接到redis

redis-cli.exe -h 127.0.0.1 -p 32822

 5、redis数据类型

1、string 类型是 Redis 最基本的数据类型,string 类型的值最大能存储 512MB。   

SET runoob "菜鸟教程"

2、hash Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象。

HMSET runoob field1 "Hello" field2 "World"

3、Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。

lpush runoob redis
lrange runoob 0 10

4、Redis 的 Set 是 string 类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

sadd key member
smembers runoob

5、zset(sorted set:有序集合)Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。

zadd key score member 
ZRANGEBYSCORE runoob 0 1000

6、redis命令

客户端基本语法:redis-cli

检测redis是否启动 ping

登录redis服务    redis-cli -h 127.0.0.1 -p 6379 -a "mypass"

删除键   del key

Redis keys 命令

下表给出了与 Redis 键相关的基本命令:

 

序号命令及描述
1 DEL key
该命令用于在 key 存在时删除 key。
2 DUMP key
序列化给定 key ,并返回被序列化的值。
3 EXISTS key
检查给定 key 是否存在。
4 EXPIRE key seconds
为给定 key 设置过期时间,以秒计。
5 EXPIREAT key timestamp
EXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
6 PEXPIRE key milliseconds
设置 key 的过期时间以毫秒计。
7 PEXPIREAT key milliseconds-timestamp
设置 key 过期时间的时间戳(unix timestamp) 以毫秒计
8 KEYS pattern
查找所有符合给定模式( pattern)的 key 。
9 MOVE key db
将当前数据库的 key 移动到给定的数据库 db 当中。
10 PERSIST key
移除 key 的过期时间,key 将持久保持。
11 PTTL key
以毫秒为单位返回 key 的剩余的过期时间。
12 TTL key
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
13 RANDOMKEY
从当前数据库中随机返回一个 key 。
14 RENAME key newkey
修改 key 的名称
15 RENAMENX key newkey
仅当 newkey 不存在时,将 key 改名为 newkey 。
16 SCAN cursor [MATCH pattern] [COUNT count]
迭代数据库中的数据库键。
17 TYPE key
返回 key 所储存的值的类型。

 数据存储结构

hash表

 

 自增

type zhuge

object encoding zhuge

hash结构:

 

 list结构:

 

 

 

 set结构:

 

 

 

 

 

 redis客户端连接池:lettuce和jedis、redis默认使用lettuce

需要引入依赖:

 

 

springboot默认使用的序列化是jdk序列化器

 

 项目中需要自定义序列化器

 

 

 工作中遇到的问题:存java对象序列号和反序列化

 如果要存java对象,需要手动完成对象的序列号和反序列化。

 正确做法:

 总结:

 7、企业实战案例

 1、解决session共享问题

redis高级

8、redis持久化

rdb和aop

当满足一定条件,会异步的持久化数据

redis的rdb过程

 

 

 

 

 aof持久

 

 

 

 

 

 总结:redis的rdb和aop对比

 

 

 

 

 

 学习参考视频:https://www.bilibili.com/video/BV1cr4y1671t?p=24&spm_id_from=pageDriver

posted @   刘百会  阅读(116)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示