摘要: 最近中美关系越来越紧张,国内经济下滑,股市一片惨淡,互联网行业越来越不景气,动不动都是跌掉几千亿市值,来写一些文档来抚慰这颗受伤的心吧。。。 随着互联网的发展,数据越来越重要,每个公司保存的数据也是越来越多,不管做什么产品,存储和搜索这些数据都面临着一些挑战,很多数据在存储了之后,基本上都被雪藏了, 阅读全文
posted @ 2018-09-10 15:18 猿祖 阅读(382) 评论(2) 推荐(0) 编辑
摘要: 前言:持久化是什么?简单的说就是将数据放在断电后不会丢失的设备中,比如磁盘,数据库在进行写操作时做了哪些事呢? 主要有五个过程 1、客户端向服务端发送写操作(数据在客户端的内存中)。 2、数据库服务端接收到写请求的数据(数据在服务端的内存中)。 3、服务端调用write这个系统调用,将数据往磁盘上写 阅读全文
posted @ 2017-09-20 15:02 猿祖 阅读(926) 评论(3) 推荐(0) 编辑
摘要: 前言:有序集合zset跟其他类型一样,同样有几种编码方式。主要有两种编码方式,REDIS_ENCODING_ZIPLIST和REDIS_ENCODING_SKIPLIST。ziplist可以表示较小的有序集合, skiplist表示任意大小的有序集合。 何时用REDIS_ENCODING_ZIPLI 阅读全文
posted @ 2017-08-01 11:16 猿祖 阅读(3880) 评论(0) 推荐(0) 编辑
摘要: 前言:set类似于数学上面的集合概念,包含的元素无序,不能重复,能进行交、并、差操作。 一、内部原理 set数据结构,也是随着元素数目的多少而变化。当set中添加的元素都是整数且元素数据较少时,set使用intset为底层的数据结构,否则,set使用dict作为底层的数据结构。 intset是什么? 阅读全文
posted @ 2017-06-20 11:24 猿祖 阅读(1530) 评论(1) 推荐(0) 编辑
摘要: 前言:list即链表,它是一个能维持数据先后顺序的列表,便于在表的两端追加和删除数据,中间位置的存取具有O(N)的时间复杂度,是一个双向链表。 一、内部原理 redis内部实现代码在quicklist.c(注释:A doubly linked list of ziplists)中,它确实是一个双向链 阅读全文
posted @ 2017-06-16 13:28 猿祖 阅读(4913) 评论(2) 推荐(1) 编辑
摘要: 前言: Redis hash是一个String类型的field和value的映射表。添加、删除操作复杂度平均为O(1),为什么是平均呢?因为Hash的内部结构包含zipmap和hash两种。hash特别适合用于存储对象。相对于将对象序列化存储为String类型,将一个对象存储在hash类型中会占用更 阅读全文
posted @ 2017-06-05 13:54 猿祖 阅读(20468) 评论(2) 推荐(0) 编辑
摘要: 前言: Redis也有自己的数据类型,包含string,list,hash,set,sorted set。下面就对每种数据类型原理以及操作做一个详细的介绍。 Redis是面向编程的语言,除了字符串,其他类型怎么表示呢? Redis中定义了一个对象的结构体: type表示了该对象的对象类型,即上面五个 阅读全文
posted @ 2017-05-31 15:53 猿祖 阅读(5737) 评论(1) 推荐(2) 编辑
摘要: 前言: 目前比较流行的缓存技术无疑是Memcached和Redis,两套缓存技术有着诸多的相似之处,但又具备大量的显著差异,作为新生的方案,Redis被视为首选,但是有些场景Memcached发挥的作用是不容忽视的。 相似点: 1. Memcached和Redis都属于In-Memory、Key-V 阅读全文
posted @ 2017-05-23 14:14 猿祖 阅读(1402) 评论(0) 推荐(6) 编辑
摘要: 一、 前言 配置是每个程序不可或缺的一部分,配置有多重方式:xml、ini、property、database等等,从最初的单机环境到现在的分布式环境。 1. 以文件的格式存储配置,修改任何都要改程序,重新发布,重新部署,经常出现数据不一致的问题,配置错误,会造成更大的问题。 2. 以数据库+缓存配 阅读全文
posted @ 2017-05-16 17:40 猿祖 阅读(789) 评论(0) 推荐(0) 编辑
摘要: 前言: 随着业务的扩大,用户的增多,访问量的增加,单机模式已经不能支撑,从而出现了从单机模式->垂直应用模式->集群模式,集群模式诞生了,伴随着一堆问题也油然而生,Master怎么选举,机器故障及时移除集群,添加机器了如何及时的感应到,Zookeeper不仅能维护当前的集群服务状态,还能及时的选出m 阅读全文
posted @ 2017-05-16 13:20 猿祖 阅读(1508) 评论(1) 推荐(4) 编辑