
《Redis》
NOSQL型数据库redis有关的知识点讲解,redis的缓存使用和分布式使用等的学习探讨。
良缘白马
IT行业苟且偷生的了三年的程序猿.
展开
-
Redis存取速度快仅仅是因为基于内存和单线程?
我们都知道Redis作为一个key-value形式的NOSQL数据库在行业中越来越多的使用。 其受广大开发者的喜爱原因无非如下: 超快的存取速度 丰富的数据类型 单个value的存储限制超大 具有事务机制 能够实现高性能和分布式 具有持久化机制 … 其中,作为开发人员,Redis的存取速度一直是我们关注的问题。在面试的时候也常常被面试官问到这样一个问题:为什么Redis存取是快速的? 我敢说百分之七十以上的人都会说:因为redis是基于内存运行在内存的,并且是单线程的所以快!(自认为回答的不错),此时面原创 2020-07-10 22:42:07 · 1003 阅读 · 0 评论 -
10.哨兵模式
简介 redsi-sentinel(哨兵模式)是高可用的解决方案,当redis在做master-slave的高可用方案时,加入master宕机了,redis本身(以及其很多客户端)都没有实现自动进行主备切换,而redis-sentinel本身也是独立运行的进程,可以部署在其他与redis集群可通讯的机器中监控redis集群 有了主从复制的实现只有,我们如果想从服务器进行监控,那么在redis2....原创 2020-04-30 10:33:27 · 1458 阅读 · 0 评论 -
9.redis总结
穿透 缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时学啊哟从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库查询,造成缓存穿透。 **解决办法:**持久层查询不到就缓存空结果,查询时先判断缓存中是否exist (key),如果有直接返回空,没有查询后返回 **注意:**insret时需要清除查询的key,否则几遍DB中有值也查询不到(当然也可以设置空缓存的...原创 2020-04-30 10:31:21 · 344 阅读 · 0 评论 -
8.redis缓存与数据的一致性
一.实时同步 对强一致性要求比较高的,应采用实时同步方案,即查询缓存查询不到再去从DB查询,更新缓存的时先更新数据库,再将缓存的设置过期。 @Cacheable :查询时使用,注意long类型需要转换为string类型,否则会抛异常 @CachePut: 更新时使用,使用次注解,一定会从DB中查询数据 @CacheEvict :删除时使用, @Caching:组合使用 非实时同步: 一方修改,另一...原创 2020-04-30 10:26:07 · 586 阅读 · 0 评论 -
6.Redis事务
redis事务可以一次执行多个命令(按顺序的串行话执行,执行中不会被其他命令插入,不许加塞) 简介 redis事务可以一次执行多个命令(允许在一次单独的步骤中执行一组命令),并且带有一下两个重要保证 批量操作在发送EXEC命令前被放入队列缓存。 收到exec命令后industry事务执行,事务中任意命令实行失败,其余的命令依然执行 在事务执行过程中,其他客户端提交的命令请求不会插入到事务执行命令序...原创 2020-04-30 10:21:35 · 249 阅读 · 0 评论 -
7.redis的持久化
什么是持久化? 持久化就是把内存中的数据写到磁盘中去,防止服务器宕机后内存数据的丢失,redis提供了两种持久化的方式:RDB(默认)和AOF。 简介 数据存放于: 内存:高效,断点(关机)内存数据会丢失 硬盘:读写速度慢与内存,断点数据不会丢失 redis持久化支持两种方式:RDB和AOF,RDB一定时间取存储文件,AOF默认每秒去存储历史命令。 RDB rdb是redis DataBase的...原创 2020-04-30 10:23:43 · 182 阅读 · 0 评论 -
1.Redis了解吗?
什么是redis? 为什么 怎么用? 1.0 Redis简介 Redis是完全开源免费的,遵守BSD协议的高性能(NOSQL)的key-value数据库,是一个开源的用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型,key-value数据库,并提供多种语言的API 1.1NOSQL NOSQL泛指非关系型的数据库,NOSQL即not-Only SQL ,他可以作为关系型数据库的良好...原创 2020-04-26 08:47:18 · 259 阅读 · 0 评论 -
4.Redis数据类型
redis的基本数据类型 string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合) string类型 赋值语法: set key_name value(string的存储赋值) setnx key_name value ((解决分布式锁方案之一)检查是否key键是否存在,不存在则赋值,存在不赋值,返回 0) 取值语法: ...原创 2020-04-25 13:49:22 · 204 阅读 · 0 评论 -
3.Redis配置
redis的配置文件位于安装目录下,文件名为redis.conf 执行命令:vim redis.conf,进入redis配置文件 配置redis bind 127.0.0.1,绑定的主机地址表示默认在本机ip下运行 表示redis的默认端口为:port 6379 daemonize no 表示默认不是以守护进程的方式运行 timeout 300 表示当客户端闲置多长时间后链接 ...原创 2020-04-25 13:40:31 · 179 阅读 · 0 评论 -
2.Redis启动与关闭
1.redis的启动 启动Redis服务端 进入对应安装目录 cd/usr/local/reids 执行命令: ./bin/redis-server 启动Redis客户端(克隆一个窗口) 进入对应的安装目录 cd /usr/local/redis 执行命令 ./bin/redis-cli 启动Redis客户端语法: reids-cli -h IP地址 -P 端口 //默认端口6379 2...原创 2020-04-25 13:37:58 · 204 阅读 · 0 评论 -
Redis的主从模式
为了降低Redis服务器的负载,可以设置多个服务器,并做主从模式,一个服务器负载写数据,其他服务器负载读数据,主服务器会自动同步给从服务器。 主从模式 使用一个Redis实例作为主机,其余的作为备份机。主机和备份机的数据完全一致,主机支持数据的写入和读取等各项操作,而从机则只支持与主机数据的同步和读取。也就是说,客户端可以将数据写入到主机,由主机自动将数据的写入操作同步到从机。主从模式很好的解决...原创 2020-03-22 15:31:06 · 165 阅读 · 0 评论 -
Redis的持久化
什么是持久化? Redis为了内部数据的存储安全考虑,会把本身的数据已文件的形式保存到硬盘中一份,在服务器重启之后会自动的吧硬盘中的数据恢复到内存(Redis)里面,数据保存到硬盘的过程就称之为持久化效果 持久化的分类 1. snap shotting快照持久化(RDB) 2. append only file(AOP持久化) 详解 1.snap shotting快照持久化(RDB) 该持...原创 2020-03-22 13:27:51 · 112 阅读 · 0 评论