一小时学习redis!

redis

基于内存的数据存储系统

三种使用方式

redis优势

安装redis

最后一种方式只能得到5.0的redis版本 比较老!

启动redis redis-server.exe 命令 停止ctrl+c或关闭

启动客户端 redis-cli

redisinsight安装

字符串

redis区分大小写 默认使用字符串存储 二进制存储安全的



列表

LPUSH最后添加的元素排在最前面

RPUSH从列表的尾部添加元素

RPOP删除列表的最后一个元素

LPOP删除列表的第一个元素

都可以一次性删除多个元素

一个简单的消息队列(先进先出队列)

LPUSH从列表头添加一个元素 LPOP在列表尾部删除一个元素

删除LTRIM 删除除start到stop之外的所有元素

集合

列表中元素可以重复,集合中元素不能重复

集合的运算 redis也支持

有序集合 SortedSet


还有很多操作,比如删除成员等等等等

哈希 Hash

哈希表键值对的集合,适合存储对象

发布订阅模式

这种方式 消息无法持久化 无法记录历史消息~

消息队列Stream



*自动生成ID,也可以手工指定ID

ID的格式 整数加上短横线再加上一个整数 第一个整数表示时间戳第二个表示序列号 要保证ID的递增!

0改成$获取最新的两条消息

也可以创建一个消费者组

地理空间 GeoSpatial

存储地理位置的数据结构,并支持对地理位置进行各种操作

HyperLogLog

一个用作基数统计的算法

适合做一些对精确度要求不高,而且数据量非常大的统计工作

比如统计某个网站的UV,统计某个词的搜索次数等等。

位图Bitmap



位域 Bitfield

redis事务

和关系型数据库事务是一个原子操作不同的是,redis事务不能保证所有操作都能执行成功,某一个命令执行失败,他后面的命令依然能够被执行

持久化

redis基于内存的数据库

RDB是指在指定时间间隔内将内存中的数据快照写入磁盘,某一个时间点上数据的完整副本。

1.配置文件来自动触发快照

2.使用save命令手动触发快照

RDB更适合来做备份

bgsave单独创建子进程负责将内存中的数据写入到硬盘中

AOF追加文件

开启AOF

主从复制

主从复制是指将一台redis服务器的数据复制到其他redis服务器

通过配置文件修改 redis.conf

主从复制!

哨兵模式 Sentinel

实现自动故障转移?哨兵模式 以一个独立的进程运行在redis集群中,用来监控redis的各个节点是否运行正常

1.监控 2.通知 3.自动故障转移

redisi-sentinel sentinel.conf

启动一个哨兵节点

实际生产环境,会使用三个哨兵节点来保证高可用

学没学会还不太好说,但是算是有一个初步的认识辣~~~~~~

相关推荐
Java中文社群5 分钟前
面试官:你项目是如何保证高可用的?
java·后端·面试
不修×蝙蝠11 分钟前
SpringBoot(一)--搭建架构5种方法
java·spring boot·架构·配置·搭建
EnigmaCoder28 分钟前
蓝桥杯刷题周计划(第二周)
学习·算法·蓝桥杯
FreemanGordon1 小时前
Java volatile 关键字
java
北京_宏哥1 小时前
《手把手教你》系列基础篇(九十三)-java+ selenium自动化测试-框架设计基础-POM设计模式实现-上篇(详解教程)
java·前端·selenium
北京_宏哥1 小时前
《手把手教你》系列基础篇(九十二)-java+ selenium自动化测试-框架设计基础-POM设计模式简介(详解教程)
java·selenium·前端工程化
当归10241 小时前
微服务与消息队列RabbitMQ
java·微服务
Lx3521 小时前
《从头开始学java,一天一个知识点》之:循环结构:for与while循环的使用场景
java·后端
Cache技术分享1 小时前
15. Java 如何声明一个变量来引用数组
java·前端
雷渊1 小时前
深入分析理解mysql的MVCC
java·数据库·面试