![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
缓存
文章平均质量分 76
蹲在角落数蚂蚁
蹲在角落数蚂蚁为大家默默更新新文章
展开
-
MongoDB Redis 区别
一、概述MongoDB 更类似 MySQL,支持字段索引、where等查询,其优势在于查询功能比较强大,擅长查询 JSON 数据,且能存储海量数据,但是不支持事务。Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,支持多种类型的数据结构,可用作数据库,高速缓存和消息队列代理。 二、具体区别1、内存管理机制Redis 数据全部存在内存,定期写入磁盘,当内存不够时,可以选择指定的 LRU 算法删除数据。MongoDB 数据存在内存,由 linux系统 mmap 实现,原创 2022-02-14 14:07:05 · 476 阅读 · 0 评论 -
Redis 介绍、场景、数据类型
一、Redis是什么?简述它的优缺点?Redis本质上是一个Key-Value类型的内存数据库,整个数据库加载在内存当中操作,定期通过异步操作把数据库中的数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value 数据库。优点: 读写性能极高, Redis能读的速度是110000次/s,写的速度是81000次/s。 支持数据持久化,支持 AOF(日志追加)和 RDB(快照 save、bgsa原创 2022-02-14 13:48:44 · 555 阅读 · 0 评论 -
Redis 事务机制实现过程及原理,以及使用事务机制防止库存超卖
一、Redis 事务实现的过程和原理第一步:观察数据客户端在修改数据之前,先使用watch命令观察要修改的数据,这一步相当于记下了数据的版本号第二步:开启事务使用 multi 命令开启事务。开启事务后,所有命令都不会立即发送给Redis,而是先缓存到客户端本地,不会真正执行,直到执行exec命令提交事务的时候,客户端才会一次性把这些命令发送到Redis去执行。第三步:Redis执行命令客户端使用exec提交事务,Redis接收到客户端exec的命令后,会先比较数据的版本号,如果版原创 2022-02-14 10:53:32 · 1279 阅读 · 0 评论 -
Redis 哨兵机制及配置
一、为什么 Redis 集群中要有哨兵机制Redis 主从复制有一个缺点,当 master 宕机以后,整个集群的写就会挂掉。因为 redis 本身是不会自动从 slave 中选举出新的 master 的。我们理想的情况是:当 master 挂掉之后,可以有 slave 迅速补上,自动切换为 master,不影响整个服务。基于此,引入了 Redis Sentinel(Redis 哨兵机制)。它能够在 master 挂掉之后,自动从 多台 slave 中选举出 新的 master,迅速开始工作,原创 2022-02-14 10:34:00 · 1283 阅读 · 0 评论 -
Redis 布隆过滤器
什么是布隆过滤器本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilistic data structure),特点是高效地插入和查询,可以用来告诉你“某样东西一定不存在或者可能存在”。相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的。实现原理HashMap 的问题讲述布隆过滤器的原理之前,我们先思考一下,通常你判断某个元素是否存在用的是什么?应该蛮多人回答 HashMap 吧,确实可以将值.原创 2022-02-14 10:29:29 · 5532 阅读 · 0 评论 -
Redis 雪崩、穿透、击穿
一、缓存雪崩:概念:缓存雪崩是指缓存中key大批量到过期时间,而这时大量请求同时打过来,引起数据库压力过大甚至down机实际生产中举例:以秒杀活动为例,QPS 达到5000,这时,如果这5000个请求同时访问过来,在redis的缓存没有失效时,这个量级的qps,redis 是可以承受住的。但是如果这时,所有的key都在某一个时间点失效了,而后台还没来得及重新刷缓存(缓存一般是定时任务主动刷新或修改时才刷新),那么这时,所有的请求就将会都直接打入MySQL 数据库。可以想象,MySQL原创 2022-02-11 17:40:57 · 484 阅读 · 0 评论 -
MAC brew安装和卸载redis
安装卸载安装之前,电脑必须安装homebrew,homebrew是mac系统下特别好用的一个软件包工具,而且它的安装也是极为简单。网上有很多人直接给出了homebrew的安装命令,但是大部分的地址已经失效。在homebrew网站上http://brew.sh/,正中间就是homebrew的安装命令,直接复制到你的终端里执行就可以了。/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/..原创 2020-10-28 17:04:14 · 3887 阅读 · 0 评论 -
linux下php中redis扩展安装
首先去下载对应的安装包,当前使用的是4.3.0版本解压文件tar -zxvf redis-4.3.0.tgz进入解压文件夹cd redis-4.3.0指定当前使用的php-config文件./configure --with-php-config=/opt/webserver/php7/bin/php-config进行安装,一定要按顺序执行make ...原创 2019-05-21 10:11:35 · 634 阅读 · 0 评论 -
Redis 作为图数据库
1. 简介Redis 在 4.0 中正式支持了Module模块系统,使其可以进行丰富的扩展图数据库的应用越来越广泛,RedisGraph 就是一个 Redis Module,可以将 Redis 变为一个高性能的图数据库图数据库中的2个核心概念:点、边点 用来描述实体,边 用来描述实体间的关系实体有多个属性,Redis 中的 Hash 结构就是存储实体的最佳选择,图中的一个节点就...转载 2019-01-03 18:08:26 · 2084 阅读 · 0 评论 -
Redis 分布式锁
一、加锁原因在一些比较高并发的业务场景,经常听到通过加锁的方法实现线程安全。1.1 加锁方式数据库锁数据库本身提供了锁机制,比如乐观锁、悲观锁等等。下面给出我之前写的一篇博客,介绍一下mysql数据库的锁机制Mysql的锁机制单体环境Java线程层面,Java的jdk本身就提供了,比如synchronized和ReentrantLock可重入锁。这是实现单...原创 2018-12-10 12:00:19 · 1107 阅读 · 0 评论 -
Redis和Memcached的区别
Redis的作者Salvatore Sanfilippo曾经对这两种基于内存的数据存储系统进行过比较: Redis支持服务器端的数据操作:Redis相比Memcached来说,拥有更多的数据结构和并支持更丰富的数据操作,通常在Memcached里,你需要将数据拿到客户端来进行类似的修改再set回去。这大大增加了网络IO的次数和数据体积。在Redis中,这些复杂的操作通常和一般的GET/SET...转载 2018-11-27 11:58:31 · 185 阅读 · 0 评论 -
redis持久化的RDB、AOF优缺点及常用配置
1、简介Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”...原创 2018-12-03 15:37:55 · 887 阅读 · 0 评论 -
Redis常用命令大全
doc 环境下使用命令: keys 命令 ? 匹配一个字符 * 匹配任意个(包括0个)字符 [] 匹配括号间的任一个字符,可以使用 "-" 符号表示一个范围,如 a[b-d] 可以匹配 "ab","ac","ad" \x 匹配字符x,用于转义符号,如果要匹配 "?" 就需要使用 \? 判...原创 2018-11-30 10:03:57 · 13748 阅读 · 0 评论