![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
佳亮
这个作者很懒,什么都没留下…
展开
-
redis(六):redis主从复制
1.概述redis的主从复制实现多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的(可以通过配置文件配置,使其支持读写,但一般从库都是只读模式),并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。 通过redis的主从复...原创 2019-08-30 18:47:23 · 128 阅读 · 0 评论 -
redis(一):CAP简介和常用数据类型的操作命令
1.CAP简介CAP定理又称CAP原则,指的是在一个分布式数据库系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),最多只能同时三个特性中的两个,三者不可兼得。简单理解就是CAP的3进2.CAP区别与sql数据库事务的ACID特性,一般适用于多种类型的数据库系统中。Consistency(一致性):或者强...原创 2019-08-20 16:36:22 · 1056 阅读 · 0 评论 -
redis(二):redis.conf配置文件
查看所有的可配置项命令: CONFIG GET *1.GENERAL通用daemonize:Redis 默认不是以守护进程的方式运行,可以通过该配置项修改,使用 yes 启用守护进程(Windows 不支持守护线程的配置为 no ),默认为no pidfile:当 Redis 以守护进程方式运行时,Redis 默认会把 pid 写入 /var/run/redis.pid 文件,可以通过...原创 2019-08-22 18:21:21 · 206 阅读 · 0 评论 -
redis(三):redis的持久化
redis的持久化,有两种策略,分别是RDB(redis database)和AOF(append only file),默认采用第一种策略。1.RDB在指定的时间间隔内将内存中的数据集快照写入磁盘,也就Snapshot快照,它恢复时是将快照文件直接读到内存里。1.1 持久化原理Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结...原创 2019-08-27 16:16:47 · 81 阅读 · 0 评论 -
redis(四):redis的事务
1.概念可以一次执行多个命令,本质是一组命令的集合。一个事务中的所有命令都会被序列化到队列中,按顺序地串行化执行而不会被其它命令插入,其他客户端提交的命令请求不会插入到事务执行命令序列中。redis事务就是在一个队列中,一次性、顺序性、排他性的执行一系列命令。2.和sql数据库的ACID的区别没有隔离级别的概念. 不保证原子性:单条命令是原子性执行的,但事务不保证原子性,且没有回...原创 2019-08-27 18:18:08 · 136 阅读 · 0 评论 -
redis(五):redis发布与订阅
redis的发布与订阅,和常见的消息中间件功能类似。Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。订阅者需要先订阅频道(channel),然后发布者向改频道发送消息,订阅者就能接收到该频道的消息。常用命令如下:subscribe channel [channel ...]:订阅一个或多个频道 psubscribe p...原创 2019-08-28 11:57:35 · 305 阅读 · 0 评论 -
redis(七):redis分布式算法
1.传统分布式算法假设有4个redis节点,分别是redis0,redis1,redis2,redis3;有20个数据,这20个数据需要尽可能均匀地存储在这4个redis节点上。传统的做法是:将这20个数据(key)进行hash运算(如果是string类型,可以直接哈希。如果是文件,可以对唯一的文件名进行哈希),hash后的值和4(节点数量)进行取余运算,算出来是什么结果就落在哪个节点上。比如...原创 2019-09-24 22:50:43 · 879 阅读 · 0 评论 -
redis(八):redis实现分布式锁的两种方式
在分布式系统中,如果多个节点同时操作同一个数据,会造成数据不一致的问题。和多个线程对共享变量进行操作遇到的问题一样。在java多线程中,一般会对操作共享数据的代码进行加锁,java提供了synchronized关键字可以很方便实现代码加锁。而在分布式系统中,有三种方式实现分布式锁:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁1. redis分布式锁...原创 2019-10-11 18:39:03 · 219 阅读 · 0 评论