![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis学习
文章平均质量分 70
redis小白学习
转角遇到要饭的
只想做条会翻身的咸鱼
展开
-
Redis持久化及备份
Redis持久化概述Redis是内存数据库,数据都是存储在内存中,为了避免进程退出导致数据的永久丢失,需要定期将Redis中的数据以某种形式(数据或命令)从内存保存到硬盘。 当下次Redis重启时,利用持久化文件实现数据恢复。除此之外,为了进行灾难备份,可以将持久化文件拷贝到一个远程位置。Redis持久化分为RDB持久化和AOF持久化,前者将当前数据保存到硬盘,后者则是将每次执行的写命令保存到硬盘。RDBRDB是一种快照存储持久化方式,具体就是将Redis某一时刻的内存数据保存到硬盘的文件当中,默认保原创 2021-11-21 16:29:51 · 778 阅读 · 0 评论 -
Redis分布式锁
Redis分布式锁Redis实现分布式锁主要利用Redis的setnx命令。setnx是SET if not exists(如果不存在,则 SET)的简写。127.0.0.1:6379> setnx test:lock 1 #在 test:lock 不存在的情况下,赋值(加锁)(integer) 1127.0.0.1:6379> get test:lock #获取 test:lock 的value值"1"127.0.0.1:6379> setnx test:lock 2 #试原创 2021-11-07 17:47:14 · 419 阅读 · 0 评论 -
Redis 缓存问题
Redis缓存缓存的优点1.加速读写:因为缓存通常都是全内存的,而存储层通常读写性能不够强悍(例如MySQL),通过缓存的使用可以有效地加速读写,优化用户体验。2.降低后端负载:帮助后端减少访问量和复杂计算(例如很复杂的SQL语句),在很大程度降低了后端的负载。缓存的缺点1.数据不一致:缓存层和存储层的数据存在着一定时间窗口的不一致性,时间窗口跟更新策略有关2.代码维护成本:加入缓存后,需要同时处理缓存层和存储层的逻辑,增大了开发者维护代码的成本。缓存维度划分缓存粒度问题是一个原创 2021-11-04 21:59:14 · 170 阅读 · 0 评论 -
布隆过滤器的安装
布隆过滤器是一种数据结构,是由一串很长的二进制向量组成,可以将其看成一个二进制数组。既然是二进制,那么里面存放的不是0,就是1。初始默认值都是0。安装原创 2021-11-04 21:58:10 · 161 阅读 · 0 评论 -
Redis数据类型之stream类型
介绍主要用于消息队列(MQ,Message Queue),Redis 本身是有一个 Redis 发布订阅 (pub/sub) 来实现消息队列的功能,但它有个缺点就是消息无法持久化,如果出现网络断开、Redis 宕机等,消息就会被丢弃。Stream 类型结构一个消费组中每个消费者不会消费同一条信息。常用命令xadd描述:在某个stream中追加消息xadd key ID field value [filed value ...]需要提供key,消息ID方案,消息内容,其中消息内.原创 2021-10-31 19:51:57 · 615 阅读 · 0 评论 -
Redis事务及乐观锁
Redis事务概念任何数据库都要有一套自己的事务控制机制,redis事务是一次可以执行多个命令,它的本质是一组命令的集合。一个事务中所有的命令都会被序列化,在事务执行的过程中会按照顺序执行队列中的命令。其它客户端提交的命令请求会等到事务执行完毕再执行。特点1、redis事务是分为三个阶段:开始事务、命令入队、执行事务。2、redis事务不具有隔离级别的概念:redis在发送exec命令之前,命令操作只是被放入到队列缓存当中,并不会被实际执行,因此也就不能类似关系型数据中,在事务内查询已经原创 2021-10-31 14:30:48 · 140 阅读 · 0 评论 -
Redis 慢查询原理
许多存储系统(例如MySQL)提供慢查询日志帮助开发和运维人员定位系统存在的慢操作。所谓慢查询日志就是系统在命令执行前后计算每条命令的执行时间,当超过预设阈值,就将这条命令的相关信息(例如:发生时间、耗时、命令的详细信息)记录下来,Redis也提供了类似的功能。如下图:慢查询只会记录执行命令的时间。慢日志的存储慢日志的存储是基本链表的。慢查询配置slowlog-log-slower-than:指定执行时间超过多少微秒(1秒等于1000000微秒) 的命令请求会被记录到日志上slowl原创 2021-10-30 23:22:54 · 176 阅读 · 0 评论 -
Redis数据类型之set类型
简介redis集合(set)类型和list列表类型类似,都可以用来存储多个字符串元素的集合。但是和list不同的是set集合当中不允许重复的元素。而且set集合当中元素是没有顺序的,不存在元素下标。redis的set类型是使用哈希表构造的,因此复杂度是O(1),它支持集合内的增删改查,并且支持多个集合间的交集、并集、差集操作。可以利用这些集合操作,解决程序开发过程当中很多数据集合间的问题。Set数据类型的内部编码Intset(整数集合):当集合元素个数小于set-max-ziplist-en.原创 2021-10-30 22:42:24 · 745 阅读 · 0 评论 -
Redis数据类型之hash类型与zset类型
1. hash数据类型与结构hash类型介绍hash数据结构 是一个键值对(key-value)集合,它是一个 string 类型的 field 和 value 的映射表,redis本身就是一个key-value型数据库,因此hash数据结构相当于在value中又套了一层key-value型数据。所以redis中hash数据结构特别适合存储关系型对象。比如用来存储学生基本信息,或者用户信息等。1.1 常用命令hmset key field value [field value]…用于同时将原创 2021-10-30 15:52:10 · 1082 阅读 · 0 评论 -
Redis数据类型之string类型与list类型
1.string数据类型与结构简介String类型是redis的最基础的数据结构,也是最经常使用到的类型。string 类型的值最大能存储 512MB,这里的String类型可以是简单字符串、复杂的xml/json的字符串、二进制图像或者音频的字符串、以及可以是数字的字符串。1.1.常用命令1.set该命令用于设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型2.get该命令用于获取指定 key 的值。如果 key不存在,返回 nil 。如果原创 2021-10-30 15:05:13 · 1129 阅读 · 0 评论 -
Redis的安装
认识ReidsREmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。特点原创 2021-10-26 21:43:59 · 64 阅读 · 0 评论