Redis
文章平均质量分 79
程序心声
代码就是情人
你不会的东西,觉得难的东西,一定不要躲。先搞明白,后精湛,你就比别人优秀了。因为大部分人都不舍得花力气去钻研,自动淘汰,所以你执着的努力,就占了大便宜。奋斗就是每一天都很难,可一年比一年容易。不奋斗就是每一天都很容易,可一年比一年越难。怕吃苦的人吃苦一辈子,不怕吃苦的人吃苦一阵子。拼一个春夏秋冬,赢一个无悔人生。
傲行人生路
平凡而简单的人一个,无权无势也无牵无挂。一路厮杀,只进不退,死而后已,岂不爽哉!
收起对“车”日行千里的羡慕;收起对“马”左右逢缘的感叹;目标记在心里面,向前进。一次一步,一步一脚印,跬步千里。
这个角色用于劝勉现在的我。
展开
-
Redis——五种数据类型
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+] Redis共有strings、hashs、lists、sets、sorted sets五种数据类型,可以说已经比较丰富了。下面只对这几种数据类型的数据结构与用途做简要介绍。至于每种数据类型的操作API,这里只简单一提,不再一一详细介绍,有需要的用户可以Google即可。转载 2017-03-01 19:55:07 · 457 阅读 · 0 评论 -
三、Redis基本操作——List
小喵的唠叨话:前面我们介绍了Redis的string的数据结构的原理和操作。当时我们提到Redis的键值对不仅仅是字符串。而这次我们就要介绍Redis的第二个数据结构了,List(链表)。由于List在原理上的实现并不是特别的复杂,我们在这里将原理和具体的命令都放在一起介绍。 小喵的个人博客地址: http://www.miaoerduo.com/ ,欢迎随时骚扰~该博客原转载 2017-02-14 18:54:42 · 1087 阅读 · 0 评论 -
Redis pub/sub(Publish,Subscribe)
目录Redis pub/sub(Publish,Subscribe)1、 Pub/Sub功能2、 Pub/Sub机制3、 Pub/Sub 在redis当中的实现4、 Php-redis扩展测试5、 Redis pub/sub python客户端测试6、转载 2017-02-14 19:03:25 · 1422 阅读 · 0 评论 -
Redis系列(一):c#实现redis客户端
最近项目使用中要改造redis客户端,看了下文档,总结分享一下。阅读目录:协议规范基础通信状态命令set、get命令管道、事务总结协议规范redis允许客户端以TCP方式连接,默认6379端口。传输数据都以\r\n结尾。请求格式*\r\n$\r\n\r\n例:*1\r\n$4\r\nINFO\r\n响应格式1:简单字符串,非二进制安全字符串,一般是状态回转载 2017-02-14 17:17:33 · 2348 阅读 · 0 评论 -
Redis系列(二):Hredis客户端设计及开源
接上篇c#实现redis客户端(一),重新整理些了下。阅读目录:项目说明Hredis设计图 单元测试场景 总结项目说明 背景:因为有地方要用,而又没找到对sentinel良好支持的Net客户端,所以就简单重写了个。 目标:尽可能的简单,轻量级,不进行过度的封装,使用方便。 代码说明: 1. 与Redis服务端的Socket通信、协议格式封装转载 2017-02-14 17:20:42 · 1149 阅读 · 0 评论 -
Redis系列(三):Redis发布订阅及客户端编程
阅读目录发布订阅模型Redis中的发布订阅客户端编程示例0.3版本Hredis发布订阅模型在应用级其作用是为了减少依赖关系,通常也叫观察者模式。主要是把耦合点单独抽离出来作为第三方,隔离易变化的发送方和接收方。发送方:只负责向第三方发送消息。(杂志社把读者杂志交给邮局)接收方:被动接收消息。(1:向邮局订阅读者杂志,2:门口去接邮过来的杂志)第三方作用是:存储订阅杂志的转载 2017-02-14 17:30:05 · 1196 阅读 · 0 评论 -
Redis系列(四):低成本高可用方案设计
关于Redis高可用方案,看到较多的是keepalived、zookeeper方案。 keepalived是主备模式,意味着总有一台浪费着。zookeeper工作量成本偏高。 本文主要介绍下使用官方sentinel做redis高可用方案的设计。阅读目录:Redis Sentinel故障转移消息接收的3种方式整体流程图总结Redis SentinelSentinel介绍Sen转载 2017-02-14 17:32:12 · 389 阅读 · 0 评论 -
Redis系列(五):Opserver的监控
阅读目录:基本介绍使用配置部署实例面板属性基本介绍Opserver是Stack Exchange的一个开源监控系统,基于Net、MVC开发,所以Net程序员可以轻松基于它二次开发。它主要监控:serversSQL clusters/instancesrediselastic searchexception logshaproxyOpserver提供详细的面板,用来快速展转载 2017-02-14 17:33:59 · 543 阅读 · 0 评论 -
Redis系列(六):SortedSets设计技巧
阅读目录:介绍Score占位更多位信息总结介绍Redis Sorted Sets是类似Redis Sets数据结构,不允许重复项的String集合。不同的是Sorted Sets中的每个成员都分配了一个分数值(score),它用于在Sorted Sets中进行成员排序,从最小值到最大值。Sorted Sets中所有的成员都是唯一的,其分数(score)是可以重复的,即是说一个分数可转载 2017-02-14 17:35:40 · 555 阅读 · 0 评论 -
Redis系列(七):性能问题排查解决手册
阅读目录:性能相关的数据指标内存使用率used_memory命令处理总数total_commands_processed延迟时间内存碎片率回收key总结性能相关的数据指标通过Redis-cli命令行界面访问到Redis服务器,然后使用info命令获取所有与Redis服务相关的信息。通过这些信息来分析文章后面提到的一些性能指标。info命令输出的数据可分为10个类别,分别是:转载 2017-02-14 17:37:55 · 367 阅读 · 0 评论 -
Redis系列(八):分布式锁服务
阅读目录:概述分布式锁多实例分布式锁总结概述在多线程环境下,通常会使用锁来保证有且只有一个线程来操作共享资源。比如:object obj = new object();lock (obj) { //操作共享资源 }利用操作系统提供的锁机制,可以确保多线程或多进程下的并发唯一操作。但如果在多机环境下就不能满足了,当A,B两台机器同时操作C机器的共享资源时,就需转载 2017-02-14 17:39:18 · 350 阅读 · 0 评论 -
Redis系列(九):高可用分布式内部交流
这是上月在公司内部的一次分享,现把PPT及交流内容整理成博客。阅读目录:高可用数据同步分布式分布式集群时代总结高可用高可用(High Availability),是当一台服务器停止服务后,对于业务及用户毫无影响。 停止服务的原因可能由于网卡、路由器、机房、CPU负载过高、内存溢出、自然灾害等不可预期的原因导致,在很多时候也称单点问题。解决单点问题主要有2种方式:主备方式转载 2017-02-14 17:40:38 · 389 阅读 · 0 评论 -
Redis 的 5 个常见使用场景
本文由 伯乐在线 - 刘晓鹏 翻译,黄利民 校稿。未经许可,禁止转载!英文出处:Joe Engel。欢迎加入翻译组。在这篇文章中,我们将阐述 Redis 最常用的使用场景,以及那些影响我们选择的不同特性。1、会话缓存(Session Cache)最常用的一种使用Redis的情景是会话缓存(session cache)。用Redis缓存会话比其他存储(如Memcached转载 2017-02-15 10:20:28 · 304 阅读 · 0 评论 -
这可能是最全的?Redis?集群方案介绍了
由于Redis出众的性能,其在众多的移动互联网企业中得到广泛的应用。Redis在3.0版本前只支持单实例模式,虽然现在的服务器内存可以到100GB、200GB的规模,但是单实例模式限制了Redis没法满足业务的需求(例如新浪微博就曾经用Redis存储了超过1TB的数据)。Redis的开发者Antirez早在博客上就提出在Redis 3.0版本中加入集群的功能,但3.0版本等到2015年才发布正式版转载 2017-02-15 14:39:20 · 291 阅读 · 0 评论 -
二、Redis基本操作——String(实战篇)
小喵万万没想到,上一篇博客,居然已经被阅读600次了!!!让小喵感觉压力颇大。万一有写错的地方,岂不是会误导很多筒子们。所以,恳请大家,如果看到小喵的博客有什么不对的地方,请尽快指正!谢谢! 小喵的唠叨话:上一篇博客,我们详细的介绍了Redis 中String数据类型的底层实现(http://www.cnblogs.com/idiotgroup/p/5450157.html),相信转载 2017-02-14 18:53:18 · 542 阅读 · 0 评论 -
一、Redis基本操作——String(原理篇)
小喵的唠叨话:最近京东图书大减价,小喵手痒了就买了本《Redis设计与实现》[1]来看看。这里权当小喵看书的笔记啦。这一系列的模式,主要是先介绍Redis的实现原理(可能很大一部分会直接照搬原作者的描述),加上小喵自己的想法,之后配合Redis官网上的各种相关的操作命令(原书上貌似没有很多的介绍命令)。 小喵的个人博客地址: http://miaoerduo.com, 随时欢迎各位的大驾。转载 2017-02-14 18:51:34 · 314 阅读 · 0 评论 -
Redis——发布订阅模式&虚拟内存
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]一、 发布订阅消息 发布订阅(pub/Sub)是一种消息通信模式,主要的目的是解除消息发布者和消订阅者之间的耦合,Redis作为一个pub/sub的server,在订阅者和发布者之间起到了消息路由的功能。订阅者可以通过subscribe和psubscribe命令向Redis转载 2017-03-01 19:57:21 · 496 阅读 · 0 评论 -
Redis——安全设置&主从复制
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]一、 安全设置 我们前面的所有操作都没有进行安全认证,即,只要你连上Redis的server你就可以为所欲为。这样显然是不合理的。下面我们就设置客户端连接server后进行任何操作都需要密码验证。 注意,因为Redis速度相当快,前面我们说过它的se转载 2017-03-01 20:04:52 · 354 阅读 · 0 评论 -
Redis——事务&持久化
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]一、 事务处理 Redis对事务的支持比较简单,或者说它的事务是有缺陷的。它只能保证一个Client发起的事务中的命令可以连续执行,中间不会插入其它client端的命令。缺陷在于,如果一个client将两条命令放到一个事务了,执行的时候第二条命令发送错误,但此时Redis的事务不转载 2017-03-01 20:12:52 · 331 阅读 · 0 评论 -
Redis——简介
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]一、 NoSql简介 之前转载了一个NoSql的系列文章,讲的非常系统和全面,所以这里只简单一提。NoSql泛指“非关系型数据库”,也常常被翻译为NotOnly Sql。NoSql中被我们用得最多的当数key-value存储,当然还有其他的文档型的(例:Mon转载 2017-03-01 20:15:16 · 335 阅读 · 0 评论 -
Redis——Java操作
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+] 前面所有对Redis的操作都是在DOS窗口中进行的,前面我们也提到了,Redis几乎对所有的主流高级语言(包括C、C++、C#、Java、PHP、Perl、Python、Ruby、Objective-C、JavaScript等等)都提供了驱动包,即操作的API。这里就非常简单的介绍一下Java转载 2017-03-01 20:37:21 · 327 阅读 · 0 评论 -
Redis的五种对象类型及其底层实现
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]Redis对象类型简介Redis是一种key/value型数据库,其中,每个key和value都是使用对象表示的。比如,我们执行以下代码:[plain] view plain copy print?redis>SET message转载 2017-02-13 18:58:55 · 701 阅读 · 0 评论 -
Redis中的内存释放与过期键删除
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]简介在Redis中,内存的大小是有限的,所以为了防止内存饱和,需要实现某种键淘汰策略。主要有两种方法,一种是当Redis内存不足时所采用的内存释放策略。另一种是对过期键进行删除的策略,也可以在某种程度上释放内存。相关数据结构Redis中的数据库结构如下:转载 2017-02-13 19:07:35 · 608 阅读 · 0 评论 -
KeySpaceNotification 键空间通知
KeySpaceNotification 键空间通知1、Redis键淘汰机制简介在Redis中,内存的大小是有限的,所以为了防止内存饱和,需要实现某种键淘汰策略。主要有两种方法,一种是当Redis内存不足时所采用的内存释放策略。第二种是对过期键进行删除的策略,也可以在某种程度上释放内存。1.1 Redis键过期淘汰的策略当需要进行内存释放的时候,需要用某种策略对保存的的对象转载 2017-02-13 19:10:04 · 615 阅读 · 0 评论 -
浅谈C#网络编程(一)
阅读目录:基础Socket编程多线程并发阻塞式同步IO基础在现今软件开发中,网络编程是非常重要的一部分,本文简要介绍下网络编程的概念和实践。Socket是一种网络编程接口,它是对传输层TCP、UDP通信协议的一层封装,通过友好的API暴露出去,方便在进程或多台机器间进行网络通信。Socket编程在网络编程中分客户端和服务端两种角色,比如通过打开浏览器访问到挂在Web转载 2017-02-14 17:45:04 · 280 阅读 · 0 评论 -
浅谈C#网络编程(二)
阅读目录:异步IO非阻塞式同步IO基于回调的异步IO并发异步IO上篇提到用多线程处理多个阻塞同步IO而实现并发服务端,这种模式在连接数量比较小的时候非常适合,一旦连接过多,性能会急速下降。 在大多数服务端网络软件中会采用一种异步IO的方式来提高性能。同步IO方式:连接Receive请求->等待->等待->接收成功异步IO方式:连接Receive请求->立即返回->事件或回调转载 2017-02-14 17:46:14 · 602 阅读 · 0 评论 -
利用Redis 实现消息队列
版权声明:本文为博主原创文章,未经博主允许不得转载。目录(?)[+]1.用redis中的List可以实现队列,这样可以用来做消息处理和任务调度的队列2.代码模拟代码结构生产者模拟程序[java] view plain copy/** *转载 2017-02-13 18:49:29 · 2533 阅读 · 0 评论 -
Redis的订阅发布机制
Redis 通过 PUBLISH 、 SUBSCRIBE 和 PSUBSCRIBE 等命令实现发布和订阅功能。 这些命令被广泛用于构建即时通信应用,比如网络聊天室(chatroom)和实时广播、实时提醒等。 本文通过分析 Redis 源码里的 pubsub.c 文件,了解发布和订阅机制的底层实现,籍此加深对 Redis 的理解。 订阅、发布和退订 在开始研究源码之前,不妨先来回转载 2017-02-14 18:24:34 · 400 阅读 · 0 评论 -
Linux之redis服务
redis简介redis单纯程模型,支持主从模式,提高可用性,是一个开源项目,经常用来当一个数据结构服务器。其是内存级别的缓存服务器并可实现持久化功能. 据称一百万的变量存储(字串)占用100M内存空间,单台redis服务器可达到5万并发的能力。redis与memcache的对比redis的优势支持丰富的操作主从复制和集群就地更新操作支持持久化(磁盘),避免雪崩转载 2017-02-14 18:44:47 · 423 阅读 · 0 评论 -
Redis中String类型的Value最大可以容纳数据长度
版权声明:本文为博主原创文章,转载请必须注明米四度的思考地址:http://blog.csdn.net/lu_wei_wei项目中使用Redis存储,key-value方式,在Redis中字符串类型的Value最多可以容纳的数据长度是512M 官方信息: A String value can be at max 512 Megabytes in length.转载 2017-02-24 18:45:32 · 6146 阅读 · 0 评论