随笔分类 - 08.分布式缓存
摘要:参见:http://www.cnblogs.com/treesoft/p/7076085.html
阅读全文
摘要:redis的slowlog是redis用于记录记录慢查询执行时间的日志系统。由于slowlog只保存在内存中,因此slowlog的效率很高,完全不用担心会影响到redis的性能。Slowlog是Redis从2.2.12版本引入的一条命令。 一、slowlog设置 slowlog有两种设置方式: 1、
阅读全文
摘要:一、命令示例 2. PERSIST/EXPIRE/EXPIREAT/TTL: 3. TYPE/RANDOMKEY/SORT:
阅读全文
摘要:一、删除Kafka topic 运行./bin/kafka-topics --delete --zookeeper 【zookeeper server】 --topic 【topic name】;如果kafaka启动时加载的配置文件中server.properties没有配置delete.topic
阅读全文
摘要:Kafka的删除逻辑请参见:http://www.cnblogs.com/gaopeng527/p/4950956.html
阅读全文
摘要:由于项目原因,需要使用分布式定时任务。目前可以使用的定时任务框架包括: A)Quartz:Java事实上的定时任务标准。但Quartz关注点在于定时任务而非数据,并无一套根据数据处理而定制化的流程。虽然Quartz可以基于数据库实现作业的高可用,但缺少分布式并行调度的功能。 B)TBSchedule
阅读全文
摘要:一、消息传递模型 传统的消息队列最少提供两种消息模型,一种P2P,一种PUB/SUB,而Kafka并没有这么做,巧妙的,它提供了一个消费者组的概念,一个消息可以被多个消费者组消费,但是只能被一个消费者组里的一个消费者消费,这样当只有一个消费者组时就等同与P2P模型,当存在多个消费者组时就是PUB/S
阅读全文
摘要:Kafka开发的主要初衷目标是构建一个用来处理海量日志,用户行为和网站运营统计等的数据处理框架。在结合了数据挖掘,行为分析,运营监控等需求的情况下,需要能够满足各种实时在线和批量离线处理应用场合对低延迟和批量吞吐性能的要求。从需求的根本上来说,高吞吐率是第一要求,其次是实时性和持久性。 既有的消息队
阅读全文
摘要:作为缓存系统都要定期清理无效数据,就需要一个主键失效和淘汰策略. 在Redis当中,有生存期的key被称为volatile。在创建缓存时,要为给定的key设置生存期,当key过期的时候(生存期为0),它可能会被删除。 1、影响生存时间的一些操作 生存时间可以通过使用 DEL 命令来删除整个 key
阅读全文
摘要:在高并发的使用场景下,如何让redis里的数据尽量保持一致,可以采用分布式锁。以分布式锁的方式来保证对临界资源的互斥读写。 redis使用缓存作为分布式锁,性能非常强劲,在一些不错的硬件上,redis可以每秒执行10w次,内网延迟不超过1ms,足够满足绝大部分应用的锁定需求。 redis常用的分布式
阅读全文
摘要:Redis Cluster踩过的坑请参考如下链接:http://www.iteye.com/blogs/subjects/Redis_Cluster_Devops
阅读全文
摘要:一. 缓存穿透 (请求数据缓存大量不命中) 缓存穿透是指查询一个一定不存在的数据,由于缓存不命中,并且出于容错考虑, 如果从存储层查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。 例如:下图是一个比较典型的cache-storage架构,cache(例如
阅读全文
摘要:Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富,有字符串、链表、集合和有序集合。支持在服务器端计算集合的并,交和补集等。还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。 Redis的所有数据是保存在内存中,...
阅读全文
摘要:一、Windows下Redis安装下载地址https://github.com/dmajkic/redis/downloads,下载到的Redis支持32bit和64bit。根据自己实际情况选择,本人选择64bit。把64bit文件内容拷贝到需要安装的目录下,比如:D:\dev\redis-2.4....
阅读全文
摘要:一般来说,消息队列有两种场景,一种是发布者订阅者模式,一种是生产者消费者模式。利用redis这两种场景的消息队列都能够实现。生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列,谁先抢到消息谁就会从队列中取走消息;即对于每个消息只能被最多一个消费者拥有;发布者订阅者模式:发布者生产消...
阅读全文
摘要:Memcached是一套高性能的、分布式内存对象缓存系统。它由C写成,以Key/Value的方式将数据储存在内存中。一、Memcached特性 Memcached作为高速运行的分布式缓存服务器,具有以下特点:1、协议简单 Memcached的服务器客户端通信使用简单的文本协议,而不是笨重复杂的XM...
阅读全文
摘要:事务 redis的事务是一组命令的集合。事务同命令一样都是redis的最小执行单元,一个事务中的命令要么执行要么都不执行。 首先需要multi命令来开始事务,用exec命令来执行事务。 127.0.0.1:6379> multi OK 127.0.0.1:6379> hset user:1 name
阅读全文
摘要:ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等。Zookeeper是hadoop的一个子项目,其发展历程无需赘述。在分布式应用中,由于工程师不能很好地使用锁机制,以及基于消息的协调机制不适合在某些
阅读全文
摘要:一、Redis集群 Redis的集群实现是内置数据自动分片机制,集群内部将所有的key映射到16384个Slot中,集群中的每个Redis Instance负责其中的一部分的Slot的读写。集群客户端连接集群中任一Redis Instance即可发送命令,当Redis Instance收到自己不负责...
阅读全文
摘要:传统“关系型数据库”在应付互联网WEB2.0应用已显示的力不从心,由其是超大规模和高并发的SNS类型的WEB2.0网站。主要需要应对以下三方面难题:1、对数据库高并发读写的要求。2、对数据库高可扩展性和高可用性的要求。3、对海量数据高效存储和访问的要求。”关系型数据库“固有的特性的确用处不大1、对数...
阅读全文