bigdatav012——redis
BigDataRedis
yanqi_vip
strove with none, for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
展开
-
CC00001.Redis——|Hadoop&Redis.V01|——|Redis.v01|缓存原理设计.v01|
一、缓存基本思想### --- [缓存的原理设计]~~~ [缓存的基本思想]~~~ [缓存的优势和代价]~~~ [缓存的读写模式]### --- 什么是缓存?~~~ 缓存原指CPU上的一种高速存储器,它先于内存与CPU交换数据,速度很快~~~ 现在泛指存储在计算机上的原始数据的复制集,便于快速访问。~~~ 在互...原创 2022-04-08 15:37:00 · 76 阅读 · 0 评论 -
CC00002.Redis——|Hadoop&Redis.V02|——|Redis.v02|缓存原理设计.v02|
一、缓存的优势和代价:使用缓存的优势### --- 提升用户体验~~~ 用户体验(User Experience):用户在使用产品过程中建立起来的一种纯主观感受。~~~ 缓存的使用可以提升系统的响应能力,大大提升了用户体验。### --- 减轻服务器压力~~~ 客户端缓存、网络端缓存减轻应用服务器压力。~~~ 服务端缓存减轻数据库...原创 2022-04-08 15:37:00 · 72 阅读 · 0 评论 -
CC00003.Redis——|Hadoop&Redis.V03|——|Redis.v03|缓存原理设计.v03|
一、缓存的读写模式:缓存有三种读写模式:Cache Aside Pattern(常用)### --- Cache Aside Pattern(旁路缓存),是最经典的缓存+数据库读写模式。~~~ 读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。~~~ 更新的时候,先更新数据库,然后再删除缓存。...原创 2022-04-08 15:38:00 · 59 阅读 · 0 评论 -
CC00004.Redis——|Hadoop&Redis.V04|——|Redis.v04|简介历史|
一、Redis数据结构及过期机制:Redis介绍### --- 什么是Redis~~~ Redis (Remote Dictionary Server)远程字典服务器,~~~ 是用C语言开发的一个开源的高性能键值对( key-value )内存数据库。~~~ 它提供了五种数据类型来存储值:字符串类型、散列类型、列表类型、集合类型、有序集合类型~~...原创 2022-04-08 15:38:00 · 102 阅读 · 0 评论 -
CC00005.Redis——|Hadoop&Redis.V05|——|Redis.v05|Redis5.05单机部署|
一、Redis单机版安装和使用### --- Redis下载~~~ 官网地址:http://redis.io/~~~ 中文官网地址:http://www.redis.cn/~~~ 下载地址:http://download.redis.io/releases/### --- Redis安装环境~~~ Redis 没...原创 2022-04-08 15:39:00 · 107 阅读 · 0 评论 -
CC00006.Redis——|Hadoop&Redis.V06|——|Redis.v06|数据类型.v01|
一、Redis数据类型和应用场景### --- [Redis数据结构及过期机制]~~~ [Redis数据类型概述]~~~ [Redis常用数据类型]~~~ [Redis不常用数据类型]### --- redis数据类型和应用场景~~~ Redis是一个Key-Value的存储系统,使用ANSI C语言编写。~~~ key...原创 2022-04-08 15:39:00 · 90 阅读 · 0 评论 -
CC00007.Redis——|Hadoop&Redis.V07|——|Redis.v07|数据类型.v02|
一、list列表类型### --- list列表类型~~~ list列表类型可以存储有序、可重复的元素~~~ 获取头部或尾部附近的记录是极快的~~~ list的元素个数最多为2^32-1个(40亿)二、常见操作命令如下表:命令名称命令格式描述lpushlpush key v1 v2 v3 ...从左侧插入列表...原创 2022-04-08 15:40:00 · 77 阅读 · 0 评论 -
CC00008.Redis——|Hadoop&Redis.V08|——|Redis.v08|数据类型.v03|
一、set集合类型### --- set集合类型~~~ Set:无序、唯一元素~~~ 集合中最大的成员数为 2^32 - 1二、常见操作命令如下表:命令名称命令格式描述saddsadd key mem1 mem2 ....为集合添加新成员sremsrem key mem1 mem2 ....删除集合中指定成员...原创 2022-04-08 15:40:00 · 68 阅读 · 0 评论 -
CC00009.Redis——|Hadoop&Redis.V09|——|Redis.v09|数据类型.v04|
一、sortedset有序集合类型### --- SortedSet(ZSet) 有序集合: 元素本身是无序不重复的~~~ 每个元素关联一个分数(score)~~~ 可按分数排序,分数可重复二、常见操作命令如下表:命令名称命令格式描述zaddzadd key score1 member1 score2 member2 ....原创 2022-04-08 15:41:00 · 69 阅读 · 0 评论 -
CC00010.Redis——|Hadoop&Redis.V10|——|Redis.v10|数据类型.v05|
一、bitmap位图类型### --- bitmap是进行位操作的~~~ 通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身。~~~ bitmap本身会极大的节省储存空间。二、常见操作命令如下表:命令名称命令格式描述setbitsetbit key offset value设置key在offset处...原创 2022-04-08 15:42:00 · 87 阅读 · 0 评论 -
CC00011.Redis——|Hadoop&Redis.V11|——|Redis.v11|数据类型.v06|
一、geohash算法### --- geohash算法~~~ # Gustavo在2008年2月上线了geohash.org网站。~~~ Geohash是一种地理位置信息编码方法。 经过geohash映射后,~~~ 地球上任意位置的经纬度坐标可以表示成一个较短的字符串。~~~ 可以方便的存储在数据库中,附在邮件上,以及方便的使用在其他服务中。~~...原创 2022-04-08 15:42:00 · 69 阅读 · 0 评论 -
CC00012.Redis——|Hadoop&Redis.V12|——|Redis.v12|数据类型.v07|
一、stream数据流类型### --- stream是Redis5.0后新增的数据结构,用于可持久化的消息队列。~~~ 几乎满足了消息队列具备的全部内容,包括:~~~ 消息ID的序列化生成~~~ 消息遍历~~~ 消息的阻塞和非阻塞读取~~~ 消息的分组消费~~~ 未完成消息的处理~~~ 消息队列监控~~~ 每...原创 2022-04-08 15:43:00 · 70 阅读 · 0 评论 -
CC00013.Redis——|Hadoop&Redis.V13|——|Redis.v13|常用命令|
一、Redis常用命令### --- Redis官方地址~~~ 官方命令大全网址:http://www.redis.cn/commands.html~~~ keys:返回满足给定pattern 的所有key~~~ 语法:keys pattern~~~ # 示例:127.0.0.1:6379> keys list*1) "li...原创 2022-04-08 15:43:00 · 79 阅读 · 0 评论 -
CC00014.Redis——|Hadoop&Redis.V14|——|Redis.v14|客户端Jedis|
一、Redis的Java客户端—Jedis### --- 关闭RedisServer端的防火墙[root@linux123 ~]# systemctl stop firewalld //(默认)[root@linux123 ~]# systemctl disable firewalld.service /...原创 2022-04-08 15:44:00 · 200 阅读 · 0 评论 -
CC00015.Redis——|Hadoop&Redis.V15|——|Redis.v15|缓存过期|淘汰策略.v01|
一、Redis数据结构及过期机制:Redis缓存过期Redis性能高:### --- 官方数据~~~ 读:110000次/s~~~ 写:81000次/s~~~ 长期使用,key会不断增加,Redis作为缓存使用,物理内存也会满~~~ 内存与硬盘交换(swap) 虚拟内存 ,频繁IO 性能急剧下降### --- maxmemory~~...原创 2022-04-08 15:45:00 · 71 阅读 · 0 评论 -
CC00016.Redis——|Hadoop&Redis.V16|——|Redis.v16|缓存过期|淘汰策略.v02|
一、LRU### --- LRU~~~ LRU (Least recently used) 最近最少使用,~~~ 算法根据数据的历史访问记录来进行淘汰数据,~~~ 其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。### --- 最常见的实现是使用一个链表保存缓存数据,详细算法实现如下:~~~ 新数据插入到链表头部;...原创 2022-04-08 15:45:00 · 86 阅读 · 0 评论 -
CC00017.Redis——|Hadoop&Redis.V17|——|Redis.v17|缓存过期|淘汰策略.v03|
一、Redis的LRU数据淘汰机制### --- Redis的LRU数据淘汰机制~~~ # 在服务器配置中保存了 ~~~ lru 计数器 server.lrulock,会定时(redis 定时程序 serverCorn())更新,~~~ server.lrulock 的值是根据 server.unixtime 计算出来的。~~~ # 另外,...原创 2022-04-08 15:46:00 · 78 阅读 · 0 评论 -
CC00019.Redis——|Hadoop&Redis.V01|——|Redis.v01|持久化机制|
一、Redis持久化### --- 为什么要持久化~~~ Redis是内存数据库,宕机后数据会消失。~~~ Redis重启后快速恢复数据,要提供持久化机制~~~ Redis持久化是为了快速的恢复数据而不是为了存储数据### --- Redis有两种持久化方式:RDB和AOF~~~ 注意:Redis持久化不保证数据的完整性。~~~ ...原创 2022-04-08 15:47:00 · 88 阅读 · 0 评论 -
CC00020.Redis——|Hadoop&Redis.V02|——|Redis.v02|RDB机制|
一、RDB### --- RDB~~~ RDB(Redis DataBase),是redis默认的存储方式,~~~ RDB方式是通过快照( snapshotting )完成的。~~~ 这一刻的数据:不关注过程### --- 触发快照的方式~~~ 符合自定义配置的快照规则~~~ 执行save或者bgsave命令~~~ ...原创 2022-04-08 15:48:00 · 74 阅读 · 0 评论 -
CC00021.Redis——|Hadoop&Redis.V03|——|Redis.v03|AOF机制|
一、AOF### --- AOF~~~ # AOF(append only file)是Redis的另一种持久化方式。~~~ Redis默认情况下是不开启的。开启AOF持久化后~~~ # Redis 将所有对数据库进行过写入的命令(及其参数)(RESP)记录到 AOF 文件, ~~~ 以此达到记录数据库状态的目的,~~~ 这样当Re...原创 2022-04-08 15:49:00 · 68 阅读 · 0 评论 -
CC00022.Redis——|Hadoop&Redis.V04|——|Redis.v04|AOF重写机制|
一、AOF重写、触发方式、混合持久化### --- AOF记录数据的变化过程~~~ AOF记录数据的变化过程,越来越大,需要重写“瘦身”~~~ Redis可以在 AOF体积变得过大时,自动地在后台(Fork子进程)对 AOF进行重写。~~~ 重写后的新 AOF文件包含了恢复当前数据集所需的最小命令集合。 ~~~ 所谓的“重写”其实是一个有...原创 2022-04-08 15:49:00 · 80 阅读 · 0 评论 -
CC00023.Redis——|Hadoop&Redis.V05|——|Redis.v05|RDB/AOF对比选型|
一、RDB与AOF对比和选型:RDB与AOF对比### --- RDB与AOF对比和选型:RDB与AOF对比~~~ # RDB存某个时刻的数据快照,~~~ 采用二进制压缩存储,AOF存操作命令,采用文本存储(混合)~~~ # RDB性能高、AOF性能较低~~~ # RDB在配置触发状态会丢失最后一次快照以后更改的所有数据,~~~ A...原创 2022-04-08 15:50:00 · 73 阅读 · 0 评论 -
CC00024.Redis——|BigDataEnd|
NO:Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ...原创 2022-04-08 15:51:00 · 67 阅读 · 0 评论 -
CC00025.Redis——|Hadoop&Redis.V01|——|Redis.v01|发布订阅机制|
一、Redis发布订阅机制### --- 发布于订阅~~~ Redis提供了发布订阅功能,可以用于消息的传输~~~ Redis的发布订阅机制包括三个部分,publisher,subscriber和Channel~~~ 发布者和订阅者都是Redis客户端,Channel则为Redis服务器端。~~~ 发布者将消息发送到某个的频道,订阅了这个频道...原创 2022-04-08 15:51:00 · 72 阅读 · 0 评论 -
CC00026.Redis——|Hadoop&Redis.V02|——|Redis.v02|事务机制|
一、事务机制:事务### --- 什么是事务~~~ 所谓事务(Transaction) ,是指作为单个逻辑工作单元执行的一系列操作### --- ACID回顾~~~ Atomicity(原子性):构成事务的的所有操作必须是一个逻辑单元,要么全部执行,要么全部不执行。~~~ Redis:一个队列中的命令 执行或不执行~~~ Consis...原创 2022-04-08 15:51:00 · 75 阅读 · 0 评论 -
CC00027.Redis——|Hadoop&Redis.V03|——|Redis.v03|lua脚本与Redis整合应用.v01|
一、lua脚本与Redis整合应用;lua脚本复制### --- Luau脚本~~~ lua是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, ~~~ 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。~~~ # Lua应用场景:~~~ 游戏开发、独立应用脚本、Web应用脚本、扩展和数据库插件。### ...原创 2022-04-08 15:52:00 · 496 阅读 · 0 评论 -
CC00028.Redis——|Hadoop&Redis.V04|——|Redis.v04|lua脚本与Redis整合应用.v02|
一、EVAL/EVALSHA命令实现### --- EVAL命令~~~ 通过执行redis的eval命令,可以运行一段lua脚本EVAL script numkeys key [key ...] arg [arg ...]### --- 命令说明:~~~ script参数:是一段Lua脚本程序,它会被运行在Redis服务器上下文中,这段脚本不必(也不应...原创 2022-04-08 15:52:00 · 98 阅读 · 0 评论 -
CC00029.Redis——|Hadoop&Redis.V05|——|Redis.v05|lua脚本与Redis整合应用.v03|
一、脚本管理命令实现### --- 使用redis-cli直接执行lua脚本。~~~ test.lua~~~ # 脚本文件[root@hadoop bin]# vim test.luareturn redis.call('set',KEYS[1],ARGV[1])~~~ # 执行脚本[root@hadoop bin]# ./redis-cli ...原创 2022-04-08 15:53:00 · 89 阅读 · 0 评论 -
CC00030.Redis——|Hadoop&Redis.V06|——|Redis.v06|慢查询日志|
一、慢查询日志### --- 慢查询日志~~~ 我们都知道MySQL有慢查询日志~~~ Redis也有慢查询日志,可用于监视和优化查询### --- 慢查询设置~~~ 在redis.conf中可以配置和慢查询日志相关的选项: ~~~ # 执行时间超过多少微秒的命令请求会被记录到日志上 0 :全记录 <0 不记录slowlog...原创 2022-04-08 15:53:00 · 79 阅读 · 0 评论 -
CC00031.Redis——|Hadoop&Redis.V07|——|Redis.v07|监视器|
一、Redis监视器:监视器### --- 监视器~~~ Redis客户端通过执行MONITOR命令可以将自己变为一个监视器,~~~ 实时地接受并打印出服务器当前处理的命令请求的相关信息。~~~ 此时,当其他客户端向服务器发送一条命令请求时,服务器除了会处理这条命令请求之外,~~~ 还会将这条命令请求的信息发送给所有监视器。...原创 2022-04-08 15:54:00 · 74 阅读 · 0 评论 -
CC00032.Redis——|BigDataEnd|
NO:Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ...原创 2022-04-08 15:54:00 · 60 阅读 · 0 评论 -
CC00033.Redis——|Hadoop&Redis.V01|——|Redis.v01|高可用|主从复制.v01|
一、主从复制### --- 本章学习目标:~~~ 理解主从复制原理、同步数据集~~~ 能够配置Redis主从复制~~~ 能够配置Redis主从+哨兵模式~~~ 理解哨兵执行流程、故障转移和leader选举~~~ 掌握一致性hash算法~~~ 理解RedisCluster的分片原理~~~ 掌握RedisCluste...原创 2022-04-09 13:26:00 · 66 阅读 · 0 评论 -
CC00034.Redis——|Hadoop&Redis.V02|——|Redis.v02|高可用|主从复制.v02|
一、主从配置### --- 主Redis配置~~~ 无需特殊配置### --- 从Redis配置~~~ 修改从服务器上的redis.conf 文件: [root@linux123 ~]# vim /opt/yanqi/servers/redis/bin/redis.conf# slaveof <masterip> <m...原创 2022-04-09 13:27:00 · 63 阅读 · 0 评论 -
CC00035.Redis——|Hadoop&Redis.V03|——|Redis.v03|高可用|主从复制.v03|
一、同步数据### --- 同步数据~~~ Redis 2.8之后分为全量同步和增量同步,具体的后面详细讲解。### --- 命令传播~~~ 当同步数据完成后,主从服务器就会进入命令传播阶段,~~~ 主服务器只要将自己执行的写命令发送给从服务器,~~~ 而从服务器只要一直执行并接收主服务器发来的写命令。### --- 同步数据集...原创 2022-04-09 13:27:00 · 60 阅读 · 0 评论 -
CC00036.Redis——|Hadoop&Redis.V04|——|Redis.v04|高可用|哨兵模式|高可用配置|
一、哨兵模式### --- 哨兵~~~ 哨兵(sentinel)是Redis的高可用性(High Availability)的解决方案:~~~ 由一个或多个sentinel实例组成sentinel集群可以监视一个或多个主服务器和多个从服务器。~~~ 当主服务器进入下线状态时,sentinel可以将该主服务器下的~~~ 某一从服务器升级为主服务...原创 2022-04-09 13:28:00 · 71 阅读 · 0 评论 -
CC00037.Redis——|Hadoop&Redis.V05|——|Redis.v05|高可用|哨兵模式|检测原理|故障转移|
一、哨兵模式检测原理:哨兵模式故障转移:执行流程### --- 启动并初始化Sentinel~~~ Sentinel是一个特殊的Redis服务器~~~ 不会进行持久化~~~ Sentinel实例启动后~~~ 每个Sentinel会创建2个连向主服务器的网络连接~~~ 命令连接:用于向主服务器发送命令,并接收响应;~~~ 订...原创 2022-04-09 13:29:00 · 75 阅读 · 0 评论 -
CC00038.Redis——|Hadoop&Redis.V06|——|Redis.v06|高可用|集群介绍|
一、集群与分区### --- 集群与分区~~~ 分区是将数据分布在多个Redis实例(Redis主机)上,以至于每个实例只包含一部分数据。### --- 分区的意义~~~ # 性能的提升~~~ 单机Redis的网络I/O能力和计算资源是有限的,将请求分散到多台机器,~~~ 充分利用多台机器的计算能力可网络带宽,有助于提高Redis总体...原创 2022-04-09 13:30:00 · 79 阅读 · 0 评论 -
CC00039.Redis——|Hadoop&Redis.V07|——|Redis.v07|普通Hash|一致性Hash|
一、普通Hash### --- 普通Hash的优势~~~ 实现简单,热点数据分布均匀### --- 普通Hash的缺陷~~~ 节点数固定,扩展的话需要重新计。~~~ 查询时必须用分片的key来查,一旦key改变,数据就查不出了,所以要使用不易改变的key进行分片二、一致性hash### --...原创 2022-04-09 13:30:00 · 91 阅读 · 0 评论 -
CC00040.Redis——|Hadoop&Redis.V08|——|Redis.v08|分区原理|
一、RedisCluster分区:RedisCluster分区原理### --- 官方cluster分区~~~ Redis3.0之后,Redis官方提供了完整的集群解决方案。~~~ 方案采用去中心化的方式,~~~ 包括:sharding(分区)、replication(复制)、failover(故障转移)。~~~ 称为RedisCluster...原创 2022-04-09 13:31:00 · 68 阅读 · 0 评论 -
CC00041.Redis——|Hadoop&Redis.V09|——|Redis.v09|普通Hash|一致性Hash|
一、RedisCluster创建:集群搭建### --- RedisCluster最少需要三台主服务器,三台从服务器。~~~ 伪分布式端口号规划: 7001~7006~~~ 主服务器: 7001/7002/7003~~~ 从服务器: 7004/7005/7006二...原创 2022-04-09 13:31:00 · 103 阅读 · 0 评论