当前位置: 首页 > 软件库 > 程序开发 > 缓存系统 >

XXF.BaseService.DistributedCache

.NET 分布式缓存中间件
授权协议 GPL
开发语言 C# .NET
所属分类 程序开发、 缓存系统
软件类型 开源软件
地区 国产
投 递 者 傅新
操作系统 Windows
开源组织
适用人群 未知
 软件概览

分布式缓存中间件

方便实现缓存的分布式,集群,负载均衡,故障自动转移,并兼容多种缓存存储的分布式缓存中间件。 用于解决分布式架构中的分布式缓存环节。

特点:

  1. 代码少,便于扩展。

  2. 兼容阿里云memcache,redis,ssdb。

  3. 规范缓存使用接口,屏蔽底层缓存实现。

  4. 通过配置连接字符串即可切换不同存储引擎,可以混合不同存储引擎组成缓存集群部署。(如部分redis,部分memcache)

  5. 动态负载均衡,故障转移,线上无缝平行扩展和扩容,方便运维。

不同存储介质

/// <summary>
/// Redis 
/// 数据存内存,适合内存大小范围内大量缓存。(若是频繁失效的缓存数据,大量热点数据,建议使用redis)
/// </summary>
Redis,
/// <summary>
/// SSDB
/// 数据热点存内存,大量数据存磁盘。(若是命中率较低,命中热点数据,大量冷数据,建议使用ssdb)
/// </summary>
SSDB,
/// <summary>
/// Memcached
/// </summary>
Memcached,
/// <summary>
/// SQLServer内存表
/// </summary>
SqlServer,
/// <summary>
/// 阿里云的缓存服务OCS
/// </summary>
AliyunMemcached,

备注:

  1. 属于半研究性项目,已在线上阿里云memcache环境使用。

未来发展:

  1. 分布式缓存中间件平台化,实现缓存监控,预警,性能报告等,性能数据收集至监控平台。

  2. 扩展分布式缓存的其他特点。

  3. 环形一致性hash对负载均衡和故障转移的支持。

  • 本人hadoop使用环境: 在本机用Eclipse插件连接到实验室服务器上运行的。 下面说下分布式缓存的使用方法: 首先,你要在你的main()函数里面添加分布式缓存文件: //将矩阵A作为分布式缓存 DistributedCache.addCacheFile(new URI("hdfs://1.1.2.1:9000/user/1M_A/Atest.txt"), comW.getConfigura

  • 使用sql拼接成的BaseController和BaseService BaseController package com.project.demo.controller.base; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.project.demo.ser

  • http://blog.sina.com.cn/s/blog_7800d921010174eg.html 1. DistributedCache.createSymlink(conf); DistributedCache.addCacheFile(new URI(“file.txt#test”), conf); 一定要放在job的初始化前面,否则会在mapper或者reducer中出现文件找不到的

  • 今天掉到getLocalCacheFiles的小坑里了。DistributedCache主要有getLocalCacheArchives和getLocalCacheFiles两个接口可以获取文件,我就理所当然的以为后者是拿非Archives文件了。结果处理时总是有不期望的字符出现,搞得我一度怀疑文本文件在HDFS中会被加上一些头,指明K/V类型以及分布之类的东西了。后来甚至抄了Hadoop源码中R

  • service层的抽取和dao层的抽取差不多相同,主要不同点是dao实例化的问题,需要在调用时传入,并在BaseServiceImpl接收。  详细的过程说明请参考dao层的抽取。  dao层的抽取:http://blog.csdn.net/kyle0349/article/details/51914504 1、抽取前UserService接口 package cn.tax.nsfw.user.s

  • #0. 前言 之前写了几篇文章介绍了一些AOP的知识, 但是还没有亮出来AOP的姿势, 也许姿势漂亮一点, 大家会对AOP有点兴趣 内容大致会分为如下几篇:(毕竟人懒,一下子写完太累了,没有动力) AOP的姿势之 简化 MemoryCache 使用方式 AOP的姿势之 简化混用 MemoryCache 和 DistributedCache 使用方式 AOP的姿势之 如何把 HttpClient 变

  • 转载自:http://www.cnblogs.com/xuxm2007/archive/2011/06/29/2092145.html http://hadoop.apache.org/mapreduce/docs/r0.21.0/api/org/apache/hadoop/filecache/DistributedCache.html Distribute application-specifi

  • mapper 和service写大量的重复的代码,今天通过反射和泛型简化代码 public interface BaseMapper<T> { List<T> getListByPage(T param); int countTotalNum(T param); }   public abstract class BaseService<T> { public abstr

  • 会有这样一种场景:有个非常大的文件需要和一个很小的文件去关联,即:一张大表去关联一张小表。 如果是在Hive里可以用MapJoin的方式,但是这种方式不是很灵活虽然也支持不等值连接,例如:有这样一个需求,有一个很大的日志文件,这个文件中有个字段是用户的IP(这里的IP是长整形),有一个很小的文件记录了IP范围对应的地域信息,我需要知道这些用户的地域分布信息,如果用MapJoin的话需要用大于和小于

  • IBaseDao package com.glht.sim.dao; import java.util.List; public interface IBaseDao<T> { T get(long id); void create(T t); void delete(T t); void update(T t); int ge

  • 看yuying代码,看到这个distributedCache,然后搜到这篇文章,很赞,~ 1、DistributedCache In Hadoop 此篇文章主要是前一篇的后续,主要讲Hadoop的分布式缓存机制的原理与运用。 分布式缓存在MapReduce中称之为DistributedCache,它可以方便map task之间或者reduce task之间共享一些信息,同时也可以将第三方包添加到其

  • DistributedCache是Hadoop提供的文件缓存工具,它能够自动将指定的文件分发到各个节点上,缓存到本地,供用户程序读取使用。它具有以下几个特点:缓存的文件是只读的,修改这些文件内容没有意义;用户可以调整文件可见范围(比如只能用户自己使用,所有用户都可以使用等),进而防止重复拷贝现象;按需拷贝,文件是通过HDFS作为共享数据中心分发到各节点的,且只发给任务被调度到的节点。本文将介绍Di

 相关资料
  • Web 应用程序可能需要为成百上千甚至更多的用户同时提供服务。如果你没有采取必要的措施,在这种负载下,你的网站可能会崩溃或变得没有响应。 假设在主页显示最后 10 条新闻,并且平均每分钟有上千名用户访问此页面。你可能为每个用户通过查询数据库来显示页面视图信息: SELECT TOP 10 Title, NewsDate, Subject, Body FROM News ORDER BY NewsD

  • 问题内容: 我正在寻找Java分布式缓存解决方案。我们希望功能喜欢: 我们已经分析了Terracotta这样的框架,它似乎是缓存框架中我们想要的一切……但是,似乎需要一个中央缓存节点,这成为我们的单点故障。 除了推出我们自己的解决方案之外,还有其他想法吗? 问题答案: 我建议使用JBossCache或EhCache(使用分布式缓存侦听器)。我都用过,我都喜欢,它们都适合您的要求。

  • 我正在使用ehcache(2.10.1)和terracotta(开源4.3.1)实现分布式缓存。我在单台机器上尝试了两个JVM实例和一个terracotta服务器,代码按预期工作,没有错误。 现在,我尝试运行相同的terracotta服务器,但在虚拟机上使用客户端。在虚拟机上运行客户端时,会收到以下消息和错误: 使用的 tc-config.xml 文件: 使用的 ehcache.xml 文件: 在

  • [命名空间: Serenity.Caching, 程序集: Serenity.Caching.Couchbase] Redis 是另一种内存数据库,由于其优秀的性能和可靠性, StackOverflow 也在使用它,他们所有的 WEB 服务只用了一个 Redis 数据库。 你可以从 Serenity.Caching.Redis 的 NuGet 程序包获取该服务类型的 Serenity 实现。 它可

  • [命名空间: Serenity.Caching, 程序集: Serenity.Caching.Couchbase] Couchbase 是一个分布式数据库,有像 Memcached 的访问接口。 可以从 NuGet 程序包 Serenity.Caching.Couchbase 获取 Serenity 对此服务类型的实现。 一旦你使用服务定位器注册它: Dependency.Resolve<IDep

  • [命名空间: Serenity.Abstractions, 程序集: Serenity.Core] 如果你现在不需要分布式缓存,但希望现在编写的代码在将来可以与分布式缓存一起工作,你可以使用 DistributedCacheEmulator 类。 DistributedCacheEmulator 也对单元测试和部署环境非常有用(因此,开发人员不需要访问分布式缓存系统而不会影响彼此的工作)。 Dis

  • 现在假设我们有一个社交网站,有数以百万的用户简介,一些著名用户的简介页面每分钟有数百或数千人访问。 要生成一个用户简介,需要多个 SQL 查询(朋友、相册名称及照片总数、简介信息、最后状态等)。 只要用户没有更新个人资料,在个人资料页显示的信息几乎是静态的。因此,个人资料页的快照可以缓存 5 分钟或 1 小时等。 但这或许还不够。我们正在谈论数以百万的简介和用户。用户不会只查看一些简介页。我们需要

  • [命名空间: Serenity.Abstractions, 程序集: Serenity.Core] 所有 NoSQL 服务器类型提供了一个类似的接口,像”使用该键存储此值”、”给我该键对应的值”等。 Serenity 通过一个没有依赖特定 NoSQL 数据库类型的通用接口提供分布式缓存的支持: public interface IDistributedCache { long Increm