本系列是自己学习尚硅谷redis视频的记录,防止遗忘,供以后用到时快速回忆起来,照抄视频和资料而已,没什么技术含量,仅给自己入门了解,我是对着视频看一遍再写的,视频地址如下:尚硅谷Redis视频 背景:传统型数据库面临的问题 传统型数据库架构的演变 从最开始的单机一路进化到缓存加集群加分库分表主从读书分离,但即使这样还是有问题得不到解决 今天最终已经成为了这个样子 为什么用NoSql NoSql更适合大数据的处理 特点 传统数据库的NoSql的比较 RDBMS - 高度组织化结构化数据 - 结构
NoSql数据模型简介 聚合模型:KV键值,BSON 列族: 图形,这里的图形不是指真正的图形,而是关系图 NoSql数据库的四大分类 KV键值:BerkeleyDB,Redis,tair,memcache 文档型数据库:couchDB,mongoDB 列存储数据库:Cassandra,HBase,分布式文件系统 图关系数据库:Neo4J,InfoGrid 对比: 分布式数据库的CAP+BASE 传统的ACID:A(atom icity):原子性 C(Consistency):一致性 I(Iso
redis的数据类型包括String,Hash(类似于JAVA里的map),List,Set,Zset(sorted Set) String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据.比如jpg图片或者序列化的对象 . string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M Hash(哈希)
AOF比RDB优点在于数据的实时性高,经过设置后最多只会损失一秒钟的数据,而RDB最多可能损失上次备份到此次DOWM机间的数据 原理 配置文件 设置同步频率 重启redis,测试,可以看到数据在关机重启后恢复了 处理aof文件损坏 给aof文件加异常字符 关闭redis后发现已无法启动 修复aof文件,可以看到修改aof文件后redis启动成功 小总结 重写rewrite 配置文件 优劣势 小总结 和rdb如何使用 性能建议 原文地址:https://www.cnblogs.com/liunia
是什么? 能干嘛? 常用命令 案例说明 1.正常执行 2.放弃事务 3.全部放弃(全体连坐) 4.只抛弃错误(冤头债主) 5.watch监控 悲观锁 悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁.传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁 乐观锁 乐观锁(Optimistic Lock), 顾名思义,就
是什么? 能干嘛? 怎么玩? 1) 初始情况 设置slave 日志查看 主机查看 备机日志 复制状态 觉见问题 1 切入点问题?slave1.slave2是从头开始复制还是从切入点开始复制?比如从k4进来,那之前的123是否也可以复制 从头复制 2 从机是否可以写?set可否? 从机是只读的 3 主机shutdown后情况如何?从机是上位还是原地待命 从机原地待命 4 主机又回来了后,主机新增记录,从机还能否顺利复制? 可以 5 其中一台从机down后情况如何?依照原有它能跟上大部队吗?
配置文件能配置哪些属性 配置文件能配置的属性参照 自动配置的原理 1).SpringBoot启动的时候加载主配置类,开启了自动配置功能 @EnableAutoConfiguration 2).@EnableAutoConfiguration 作用: 利用EnableAutoConfigurationImportSelector给容器中导入一些组件? 可以查看selectImports()方法的内容: List<String> configurations = getCandidateConfi
Redis的列表数据结构有blpop和brpop命令,能从列表里返回且删除第一个(或最后一个)元素,或者被堵塞,直到有一个元素可供操作.这可以用来实现一个简单的队列. (译注:对于blpop和brpop命令,如果列表里没有关键字可供操作,连接将被堵塞,直到有另外的Redis客户端使用lpush或rpush命令推入关键字为止.) 此外,Redis对于消息发布和频道订阅有着一流的支持.你可以打开第二个redis-cli窗口,去尝试一下这些功能.在第一个窗口里订阅一个频道(我们会称它为warnings
这里使用nodejs的redis模块说明,具体可见https://www.npmjs.com/package/redis,先来通过一个简单的例子了解下redis中的Pub/Sub具体怎么实现吧.. var express = require('express'); var router = express.Router(); var redis = require("redis"); /* GET home page. */ router.get('/', function(req,