-
项目中有遇到这个问题,跟MySQL中的数据不一致,研究一番发现这里面细节并不简单,特此记录一下。
写在前面
严格意义上任何非原子操作都不可能保证一致性,除非用阻塞读写实现强一致性
-
一、背景
Redis是一个完全开源的、遵守BSD协议的、高性能的key-value数据结构存储系统,它支持数据的持久化,可以将内存中的数据保存在磁盘中,而且不仅仅支持简单的key-value类型的数据,同
-
1 什么是秒杀
秒杀最直观的定义:在高并发场景下而下单某一个商品,这个过程就叫秒杀
【秒杀场景】
火车票抢票双十一限购商品热度高的明星演唱会门票…
2 为什么要防止超卖
早起的123
-
redis是比较流行的NOSQL数据库之一,下面来记录下redis的安装过程:
1. 安装环境介绍:
Redis版本:redis-3.0.1
Linux版本:Red Hat Enterprise Linux Workstation release 7.0 (Maipo)
2. 下载所需Redis文件
在http://redis.io
-
1、简单动态字符串(SDS)
Redis 虽然是用 C 语言写的,但Redis没有直接使用C语言传统的字符串表示(以空字符 ‘\0’ 结尾的字符数组),二是自己构建了一种名为简单动态字符串(simple dyn
-
然而随着时间的推移,单线程越来越不满足一些应用场景了,比如针对大key删除会造成主线程阻塞的问题,redis4.0出了一个异步线程。
针对单线程由于无法利用多核cpu的特性而导致无法满足更
-
缓存技术可以用来减轻数据库的压力,提升访问效率。目前在企业项目中对缓存也是越来越重视。但是缓存不是说随随便便加入项目就可以了。将缓存整合到项目中,这才是第一步。而缓存带来
-
前言
作为Java程序员,在面试过程中,缓存相关的问题是躲不掉的,肯定会问,例如缓存一致性问题,缓存雪崩、击穿、穿透等。说到缓存,那肯定少不了Redis,我在面试的时候也是被问了很多
-
我们使用Redis的时候往往都是主从模式或者集群架构,不会使用单台Redis服务。
一、Redis主从配置实战
我们使用master节点写输入,然后将数据同步到slave节点,从节点可以提供读取或者备份的功
-
首先,我们先来看看有哪几种一致性的情况呢?
一、一致性
1、强一致性
如果你的项目对缓存的要求是强一致性的,那么请不要使用缓存。这种一致性级别是最符合用户直觉的,它要求系统写
-
我们知道redis是带有持久化这个能力了,那到底持久化成到哪里,持久化成啥样呢???这篇我们一起来寻求答案。
一、快照模式
或许在用Redis之初的时候,就听说过redis有两种持久化模式
-
我们都知道redis是采用C语言开发,那么在C语言中表示string都是采用char[]数组的,然后你可能会想,那还不简单,当我执行如下命令,肯定是直接塞给char[]数组的。
如果你真的这么想的话,会有
-
1.Redis是基于内存的,内存的读写速度非常快;
2.Redis是单线程的,省去了很多上下文切换线程的时间;
3.Redis使用多路复用技术,可以处理并发的连接。非阻塞IO 内部实现采用epoll,采用了epoll+
-
一、String
String是Redis最基本的类型,最大能存储512MB的数据,String类型是二进制安全的,即可以存储人了数据类型,比如数字、图片、序列化对象等
Ⅰ、set、get、append、strlen、exists
append key value
-
docker部署redis命令
docker run --name redis -p 6379:6379 -d --restart=always a4d3716dbb72 redis-server --appendonly yes --requirepass "123456"
创建配置,点击配置中心->配置->创建配置
这里的配置信息就和上面redis-serv