09 2021 档案

摘要:频繁的全量复制(1) 伴随着系统的运行,master的数据量会越来越大,一旦master重启,runid将发生变化,会导致全部slave的 全量复制操作 内部优化调整方案:1. master内部创建master_replid变量,使用runid相同的策略生成,长度41位,并发送给所有slave 2. 阅读全文

posted @ 2021-09-09 14:16 zhangchaoya 阅读(97) 评论(0) 推荐(0)

摘要:主从复制 主从复制即将master中的数据即时、有效的复制到slave中 特征:一个master可以拥有多个slave,一个slave只对应一个master 职责: master: 写数据 执行写操作时,将出现变化的数据自动同步到slave 读数据(可忽略)  slave: 读数据 写数据(禁 阅读全文

posted @ 2021-09-08 14:12 zhangchaoya 阅读(76) 评论(0) 推荐(0)

摘要:GEO类型的基本操作  添加坐标点 geoadd key longitude latitude member [longitude latitude member ...]  获取坐标点 geopos key member [member ...]  计算坐标点距离 geodist key m 阅读全文

posted @ 2021-09-07 18:09 zhangchaoya 阅读(56) 评论(0) 推荐(0)

摘要:统计独立UV 原始方案:set  存储每个用户的id(字符串) 改进方案:Bitmaps  存储每个用户状态(bit) 全新的方案:Hyperloglog 基数 基数是数据集去重后元素个数 HyperLogLog 是用来做基数统计的,运用了LogLog的算法 HyperLogLog类型的基本操作 阅读全文

posted @ 2021-09-07 18:07 zhangchaoya 阅读(59) 评论(0) 推荐(0)

摘要:Bitmaps类型的基础操作  获取指定key对应偏移量上的bit值 getbit key offset  设置指定key对应偏移量上的bit值,value只能是1或0 setbit key offset value Bitmaps类型的扩展操作  对指定key按位进行交、并、非、异或操作,并 阅读全文

posted @ 2021-09-07 18:02 zhangchaoya 阅读(47) 评论(0) 推荐(0)

摘要:服务器端设定  设置服务器以守护进程的方式运行 daemonize yes|no  绑定主机地址 bind 127.0.0.1  设置服务器端口号 port 6379  设置数据库数量 databases 16 日志配置  设置服务器以指定日志记录级别 loglevel debug|ver 阅读全文

posted @ 2021-09-07 16:41 zhangchaoya 阅读(72) 评论(0) 推荐(0)

摘要:新数据进入检测 当新数据进入redis时,如果内存不足怎么办? Redis使用内存存储数据,在执行每一个命令前,会调用freeMemoryIfNeeded()检测内存是否充足。如 果内存不满足新加入数据的最低存储要求,redis要临时删除一些数据为当前指令清理存储空间。清理数据 的策略称为逐出算法。 阅读全文

posted @ 2021-09-07 16:27 zhangchaoya 阅读(133) 评论(0) 推荐(0)

摘要:Redis中的数据特征  Redis是一种内存级数据库,所有数据均存放在内存中,内存中的数据可以通过TTL指令获取其状态 XX :具有时效性的数据  -1 :永久有效的数据 -2 :已经过期的数据或 被删除的数据 或 未定义的数据 过期的数据真的删除了吗? 数据删除策略 1. 定时删除 2. 阅读全文

posted @ 2021-09-07 16:11 zhangchaoya 阅读(154) 评论(0) 推荐(0)

摘要:基于特定条件的事务执行——锁 解决方案  对 key 添加监视锁,在执行exec前如果key发生了变化,终止事务执行 watch key1 [key2......]  取消对所有 key 的监视 unwatch Tips 18: redis 应用基于状态控制的批量任务执行 基于特定条件的事务执 阅读全文

posted @ 2021-09-07 15:34 zhangchaoya 阅读(39) 评论(0) 推荐(0)

摘要:什么是事务 Redis执行指令过程中,多条连续执行的指令被干扰,打断,插队 redis事务就是一个命令执行的队列,将一系列预定义命令包装成一个整体(一个队列)。当执行时,一次性 按照添加顺序依次执行,中间不会被打断或者干扰。 一个队列中,一次性、顺序性、排他性的执行一系列命令 事务的基本操作 开启事 阅读全文

posted @ 2021-09-07 14:59 zhangchaoya 阅读(227) 评论(0) 推荐(0)

摘要:RDB存储的弊端 存储数据量较大,效率较低 基于快照思想,每次读写都是全部数据,当数据量巨大时,效率非常低 大数据量下的IO性能较低 基于fork创建子进程,内存产生额外消耗 宕机带来的数据丢失风险 解决思路 不写全数据,仅记录部分数据 降低区分数据是否改变的难度,改记录数据为记录操作过程 对所 阅读全文

posted @ 2021-09-07 14:35 zhangchaoya 阅读(71) 评论(0) 推荐(0)

摘要:RDB启动方式 谁,什么时间,干什么事情 命令执行 谁:redis操作者(用户) 什么时间:即时(随时进行) 干什么事情:保存数据 RDB启动方式 —— save指令 命令 save 作用: 手动执行一次保存操作 RDB启动方式 —— save指令相关配置 dbfilename dump.rd 阅读全文

posted @ 2021-09-07 09:06 zhangchaoya 阅读(73) 评论(0) 推荐(0)

摘要:基于Center OS7安装Redis  下载安装包 wget http://download.redis.io/releases/redis-?.?.?.tar.gz 解压 tar –xvf 文件名.tar.gz 编译 make 安装 make install [destdir=/目录] 阅读全文

posted @ 2021-09-06 17:24 zhangchaoya 阅读(439) 评论(0) 推荐(0)

摘要:数据库 key 的重复问题 key是由程序员定义的 redis在使用过程中,伴随着操作数据量的增加,会出现大量的数据以及对应的key 数据不区分种类、类别混杂在一起,极易出现重复或冲突 解决方案 redis为每个服务提供有16个数据库,编号从0到15 每个数据库之间的数据相互独立 db 基本操作 阅读全文

posted @ 2021-09-06 16:43 zhangchaoya 阅读(57) 评论(0) 推荐(0)

摘要:key 特征 key是一个字符串,通过key获取redis中保存的数据key应该设计哪些操作? 对于key自身状态的相关操作,例如:删除,判定存在,获取类型等 对于key有效性控制相关操作,例如:有效期设定,判定是否有效,有效状态的切换等 对于key快速查询操作,例如:按指定策略查询key ... 阅读全文

posted @ 2021-09-06 16:33 zhangchaoya 阅读(111) 评论(0) 推荐(0)

摘要:sorted_set 类型 新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式 需要的存储结构:新的存储模型,可以保存可排序的数据 sorted_set类型:在set的存储结构基础上添加可排序字段 sorted_set 类型数据的基本操作  添加数据 命令:z 阅读全文

posted @ 2021-09-06 16:16 zhangchaoya 阅读(142) 评论(0) 推荐(0)

摘要:set 类型 新的存储需求:存储大量的数据,在查询方面提供更高的效率 需要的存储结构:能够保存大量的数据,高效的内部存储机制,便于查询 set类型:与hash存储结构完全相同,仅存储键,不存储值(nil),并且值是不允许重复的  添加数据 sadd key member1 [member2]   阅读全文

posted @ 2021-09-06 10:59 zhangchaoya 阅读(99) 评论(0) 推荐(0)

摘要:list 类型 数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分 需要的存储结构:一个存储空间保存多个数据,且通过数据可以体现进入顺序 list类型:保存多个数据,底层使用双向链表存储结构实现 数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分 需要的存储结构:一个存储空 阅读全文

posted @ 2021-09-06 09:19 zhangchaoya 阅读(113) 评论(0) 推荐(0)

摘要:hash 类型 存储的困惑 对象类数据的存储如果具有较频繁的更新需求操作会显得笨重 新的存储需求: 对一系列存储的数据进行编组,方便管理,典型应用存储对象信息 需要的存储结构: 一个存储空间保存多个键值对数据 hash类型: 底层使用哈希表结构实现数据存储 hash存储结构优化 如果field数量 阅读全文

posted @ 2021-09-03 19:15 zhangchaoya 阅读(145) 评论(0) 推荐(0)

摘要:redis 数据存储格式 redis 自身是一个 Map,其中所有的数据都是采用 key : value 的形式存储 数据类型指的是存储的数据的类型,也就是 value 部分的类型,key 部分永远都是字符串 string 类型 存储的数据: 单个数据,最简单的数据存储类型,也是最常用的数据存储类型 阅读全文

posted @ 2021-09-03 18:05 zhangchaoya 阅读(267) 评论(0) 推荐(0)

摘要:业务数据的特殊性 作为缓存使用 1. 原始业务功能设计 秒杀 618活动 双11活动 排队购票 2. 运营平台监控到的突发高频访问数据 突发时政要闻,被强势关注围观 3. 高频、复杂的统计数据 在线人数 投票排行榜 附加功能 系统功能优化或升级 单服务器升级集群 Session 管理 Tok 阅读全文

posted @ 2021-09-03 16:47 zhangchaoya 阅读(38) 评论(0) 推荐(0)

摘要:命令行模式工具使用思考  功能性命令 清除屏幕信息 帮助信息查阅 退出指令 信息添加  功能:设置 key,value 数据 命令 set key value 范例 set name itheima 信息查询  功能:根据 key 查询对应的 value,如果不存在,返回空(nil) 阅读全文

posted @ 2021-09-03 16:36 zhangchaoya 阅读(23) 评论(0) 推荐(0)

摘要:Redis 的下载 Linux 版 (适用于企业级开发) Redis 高级开始使用  以4.0 版本作为主版本 Windows 版本(适合零基础学习) Redis 入门使用  以 3.2 版本作为主版本 下载地址:https://github.com/MSOpenTech/redis/ta 阅读全文

posted @ 2021-09-03 16:20 zhangchaoya 阅读(57) 评论(0) 推荐(0)

摘要:Nosql Nosql: 即Not-OnlySQL(泛指非关系型的数据库),作为关系型数据库的补充。 作用:应对基于海量用户和海量数据前提下的数据处理问题。 特征: 可扩展,可伸缩 大数据量下高性能 灵活的数据模型 高可用 常见Nosql数据库: Redis HBase memcache Mongo 阅读全文

posted @ 2021-09-03 16:10 zhangchaoya 阅读(56) 评论(0) 推荐(0)

导航