
redis
刘二郎
很懒
展开
-
redis学习系列(三-1)--redis基础类型初探(字符串)
博主从事java 只有1年多,越学习越觉得自己知道的很少,期间有时候还觉得自己java好像不错的样子,现在来看,扯淡,哈哈。套用人生几大状态:其实很多时候人都是处于第一阶段,以为自己懂的很多,当然这是针对大多人的,少部分人又天赋,智商又高,搞起编程得心应手,而我们这种不聪明又没天赋的,只能尽量努力提高自己。时刻警醒,要做2阶段的人。求知探索。1、不知道自己不知道(自以为是);2、知道自翻译 2017-10-17 15:22:22 · 301 阅读 · 0 评论 -
Redis学习系列(十三)--redis-缓存问题研究
博主系统内redis的使用伪代码如下: Object o = redis.get(key); //1 if(o != null){ return (Student)o; //2 } Student value = read db; //3 return value; //4这段代码也不知道最早谁开始使用的,反正就是这么流传下来了,...原创 2018-03-16 17:58:30 · 195 阅读 · 0 评论 -
redis学习系列(十二)--redis-锁的实现
最近项目一直比较紧,并没多少时间能好好看看博客,写写文章。今天偷闲下来,把redis锁稍微看了下。笔者参与的项目现在是分布式的项目,因此分布式锁用的比较多,分布式锁笔者知道的有两种比较主流的,redis实现和zk实现,但是据我了解,zk是比较重的锁了,不如redis轻便。因此我主要看的还是redis锁。分析就从笔者项目中使用的锁开始吧,笔者项目中有两个redis锁,是两个不同的开发人员编写的。但是...原创 2018-01-17 17:18:12 · 1932 阅读 · 2 评论 -
redis学习系列(十一)--redis-复制功能
昨天把集群装了一下,也是因为往下的学习都是基于多机的基础。当然集群是集群,多机是多机。复制这一节介绍了老版本的复制和缺陷,以及新版本的复制。旧版复制功能Redis的复制功能分成同步(sync)和命令传播(commond propagate)同步当出现SLAVEOF命令时,要求从服务器复制主服务器时,从服务器首先需要执行同步操作,将从服务器的数据库状态更新至主服务器当前所翻译 2017-10-26 09:50:16 · 344 阅读 · 0 评论 -
redis学习系列(十)--redis-集群安装
今天终于要开始集群安装了。1.单机版安装路径:/usr/local/redis2.redis路径/usr/redis/redis-3.0.01.新建集群文件夹mkdir /usr/local/redis-cluster2.进入redis安装路径下的redis/bin文件夹下,执行copy操作cp -r bin ../redis-cluster/r原创 2017-10-25 17:27:48 · 289 阅读 · 0 评论 -
redis学习系列(九)--redis-AOF和RDB实践
实践AOF和RDB的话,需要注明,本身并不是自己得来的知识,而是从网上的博客总结得来的,当然能自己动手吸收一下也是好的额。。。。。。。。。实践RDB:RDB其实之前已经初步试验过,这一次主要吸取别人博客的一些观点,充实自己RDB配置:下面两个是默认配置,没去管,先这样吧,一个是压缩。一个是检查校验的。save 900 1save 300 10save 30 1rdbcom转载 2017-10-25 13:16:37 · 521 阅读 · 0 评论 -
redis学习系列(八)--redis-AOF基础
redis另外一种持久化方式就是AOF方式(Append Only File)上一篇 RDB的持久化方式是通过保存键值对来记录数据库状态的不同,AOF持久化不同点在于它不是通过键值对,而是通过保存Redis服务器执行的写命令来记录的。这样的话感觉在实时性上面,AOF是要优于RDB的,因为这样至少能保证不会丢数据,而RDB方式的话会丢到达到它保存条件中间的一部分数据。例如:对翻译 2017-10-25 09:26:57 · 232 阅读 · 0 评论 -
redis学习系列(二)--配置文件了解
配置文件了解,了解,了解,没有深的东西,深的东西需要实践积累,可惜我没有# 当你需要为某个配置项指定内存大小的时候,必须要带上单位,# 通常的格式就是 1k 5gb 4m 等酱紫:# 1k => 1000 bytes# 1kb => 1024 bytes# 1m => 1000000 bytes# 1mb => 1024*1024 bytes# 1g => 10转载 2017-10-16 15:58:59 · 267 阅读 · 0 评论 -
redis学习系列(八)--redis-RDB基础
RDB是一种持久化的概念,本身redis是一款内存数据库,速度很快,但是如果哪天突然宕机了,那么数据就会丢失掉,基于此,redis提供了RDB持久化功能,可以将redis在内存中的数据持久化到磁盘,避免丢失。RDB可以手动执行,也可以设置定期执行,将内存中的数据库状态保存到磁盘里。反之,可以通过该文件还原生成RDB时的数据库状态。RDB文件的创建和载入两个命令生成RDB文件翻译 2017-10-23 20:57:37 · 440 阅读 · 0 评论 -
redis学习系列(七)--redis-database
对于redis的database来说,我应该是之前就接触过,之前迫于项目拆分需要,我去跟公司运维人员沟通过redis的配置,因为是一个全新项目,那时候接触到了redis的seesion配置,redis的缓存配置,其实就是配置database,基本上公司的项目没有共用的database库,即使有共用的,也在key的设置时,强制性的加了项目名的前缀,用于区分。本想着去看下redisServer的结翻译 2017-10-23 10:54:48 · 20771 阅读 · 0 评论 -
redis学习系列(一)--单机安装
最近安装了个虚拟机,把linux给装起来,准备去熟悉linux的操作,不求有多牛逼,至少能熟悉操作。装好之后本来想直接就在里面做开发的,但是我的本机是通过vpn连接到外部环境中去的,倒是有win的vpn版本,但是在虚拟机里面,使用的是桥接模式,虽然能访问网页,但是确访问不到外部环境的资源,有点疼,不知道怎么解决,希望有缘人能指点一二。不能开发了,那就做做测试吧,早先的时候本来已经安原创 2017-10-12 09:03:16 · 332 阅读 · 0 评论 -
redis学习系列(六)--redis基础跳跃表的构造
看redis的时候第一次看见跳跃表这种数据结构,说实话,之前还真不知道有这么个结构,哎。。。。。。。。。。。跳跃表其实也是一个链表,不过子啊实现上有点区别,也是由一个一个的Node组成,zskiplistNode是组成,zsklist则是保存了跳跃表节点的相关信息,例如节点的数量,头结点指针,尾节点指针。 header | tail | level \n 5 | length \翻译 2017-10-20 11:07:20 · 300 阅读 · 0 评论 -
redis学习系列(十一)--redis-复制功能实践
关于复制功能,第十篇只是将原理介绍了一下,有个基本概念,紧接着这一篇就是去实践一下。原创 2017-10-26 21:20:54 · 301 阅读 · 0 评论 -
redis学习系列(四)--redis基础SDS的构造
博客写的不少了,但是越写越好奇有些博客为什么写的那么有深度,而自己的博客确是那么的浅,读过有些大牛的redis博客,发现有很多都是实践中的心得,确实比只读书做笔记的来的深的多,但是,但是,但是,公司的redis架构已经成熟了,平时根本没机会去接近redis的问题,也无法得知redis的环境,不是自己项目组,根本了解不了,哎,心累啊。redis这个系列的博客,权当自己的读书笔记了,怎么办翻译 2017-10-19 10:01:07 · 684 阅读 · 0 评论 -
redis学习系列(三-5)--redis基础类型初探(有序集合对象)
有序集合对象使用的编码是ziplist或者skiplistziplist有序结合的ziplist使用的是压缩列表作为底层实现,每个集合元素使用的紧靠的压缩列表节点存储,第一个节点保存成员,第二个元素保存元素的分值。因此压缩列表内集合元素按照分值大小排序,分值较小放置靠近表头,分值较大放置在表尾的位置下例子中分值是 8 6 7 4127.0.0.1:6379> zadd翻译 2017-10-18 09:50:29 · 251 阅读 · 0 评论 -
redis学习系列(三-4)--redis基础类型初探(集合对象)
集合对象的编码是 insert 和 hashtableinsert编码的集合对象使用整数集合作为底层实现,集合对象包含的所有元素都保存在整数集合里面127.0.0.1:6379> sadd n 1 3 5(integer) 3127.0.0.1:6379> object encoding n"intset"127.0.0.1:6379> 纯数字使用的是ins翻译 2017-10-18 09:03:10 · 175 阅读 · 0 评论 -
redis学习系列(三-3)--redis基础类型初探(hash对象)
今天再次来记录下hash对象的存储是什么样的,hash对象在java里是比较有意思的一个东西,虽然最底层的实现我不是很懂,但是jdk源码中关于hash的一些东西我还是比较了解的,对于hash来说,主要的就是你的hash算法是怎么保证该值落到hash槽内,并且还要保证尽可能的均匀。hash对象的编码是ziplist或者是hashtable,和列表对象一样,也使用了ziplist,这是个神翻译 2017-10-18 08:21:52 · 241 阅读 · 0 评论 -
redis学习系列(三-2)--redis基础类型初探(列表对象)
阿萨德翻译 2017-10-17 21:13:23 · 222 阅读 · 0 评论 -
分布式锁的3种实现方式
说起分布式的概念,首当其冲就是CAP理论,即满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)。但是CAP理论告诉我们,任何系统只能满足其中两个,所以都要求去做取舍。那么人们常说的一般都是,需要牺牲一致性来保证系统的高可用性,只要保证系统的最终一致性,并且允许的时间差值能够被接受就行。对于这个,本人的体会就是订单系统,对于...原创 2018-04-04 15:20:58 · 8973 阅读 · 1 评论