- 浏览: 166239 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (95)
- oracle (7)
- java 基础 (10)
- web层 (3)
- 框架技术 (0)
- eclipse技巧 (2)
- 重构 (2)
- 架构 (1)
- 缓存 (11)
- 分布式多线程编程 (5)
- jquery (8)
- ibatis (3)
- spring API (1)
- maven (1)
- spring (4)
- js (12)
- 正则表达式 (1)
- Velocit (1)
- 杂七杂八 (3)
- XSS跨域攻击 (1)
- appfuse (2)
- Simple-Spring-Memcached (3)
- spring batch (11)
- spring integration (2)
- Teiid 8.0 (0)
- Linux 命令 (1)
最新评论
-
luxianping:
怎么根据命名空间来删除缓存? 比如说用户对应的菜单,当有用户 ...
使用SSM注解做缓存操作 -
vemacitri_b:
mowengaobo 写道你可以这样理解key。为什么不单独放 ...
使用SSM注解做缓存操作 -
mowengaobo:
你可以这样理解key。为什么不单独放个参数出来如 @Rea ...
使用SSM注解做缓存操作 -
夜神月:
目前我在dao曾有如下的注解配置:@ReadThroughSi ...
使用SSM注解做缓存操作
昨天写了一篇短文 描述了淘宝面试的一些题。
今天下午 装了在ubuntu中装了 memcached ,装起来还是很简单的。
主要是装一下。
自己分配了一个端口。那么我想还是从最简单的memcached --
java memcached client源码,总的代码量还是很少的
主要是如下两个类:
MemcachedClient.java
SockIOPool.java
好 先看推荐的测试代码:
其实 对于我来说 我很想明白的是连接池是如何配置的,关键在于 pool.initialize(); 这个方法如何初始化的。
如上代码流程如下:
1 检测是否已经被初始化
2 定义可用链接 ,繁忙链接池
3 判断是否一致性hash算法 还是普通的算法
4 定义一个后台线程 ,来维护
好 ,首先来分析下一致性hash算法。
从如下代码来分析 :
好 比如说 我们调用了 如下代码:
这里key 如何定位到一台server呢?我先把一致性hash算法的定位方法说下。
明天开始继续看代码 ,还是要坚持。
一致性hash的算法参考
http://xok.la/2010/06/memcache_consistent_hashing.html
发表评论
-
memcached单点故障与负载均衡
2012-04-25 17:28 1511在上文中,主要教大家如何搭建在windows IIS 7. ... -
Memcached集群/分布式的单点故障
2012-04-25 17:15 1563四月, 2010 (13:33) | 架构设计 | 繁 ... -
MemCached的分布式算法
2012-04-25 11:10 1336在MemCached的基础里面,我们讲到MemCach ... -
分布式缓存系统Memcached学习心得
2012-04-24 14:40 1360缘起: 在数据驱动的web ... -
安装java memcached client到maven repository
2012-02-20 14:43 1725由于目前java memcached client没有官方的m ... -
memcached java客户端比较
2012-02-08 16:00 902较早之前的一些比较主要是集中在java memcached ... -
memcached监控工具
2012-02-08 15:58 1495最简单和最直接的方式是在启动memcached的时候加入-vv ... -
关于memcached分布式拓扑结构的可靠性
2012-02-08 15:56 1089memcached依赖客户端的散列实现了“分布式',但是由于缺 ... -
安装memcached
2012-02-08 15:55 882安装memcached 1.安装memcached所依赖的l ... -
cache
2012-02-08 15:54 876自从Ehcache 到了1.2+的版本,就支持分布式缓存了。我 ...
相关推荐
1. **MemcachedClient**: 这是客户端的主要类,负责建立与memcached服务器的连接,执行各种操作。 2. **Operation**: 包含了各种操作接口,如`get`, `set`, `delete`, `increment`等,它们是异步执行的。 3. **...
客户端的哈希算法决定了key如何映射到特定的server,通常采用一致性哈希,以保证server增减时,数据迁移的影响最小化。 总结,通过深入分析Memcached的源代码,我们可以了解到其高效运行背后的设计思想和技术实现,...
MemcachedClient client = new MemcachedClient(new InetSocketAddress("localhost", 11211)); // 存储数据 client.set("myKey", 60, "myValue"); // key存活60秒 // 获取数据 String value = (String) ...
一致性哈希算法是解决 Memcached 客户端选择服务器问题的解决方案。该算法可以取代传统的取模操作,解决了上述取模操作无法应对增删服务器所遇到的问题。然而,普通一致性哈希算法有潜在的问题是节点 Hash 后会不...
- `MemcachedClient`:客户端实例,负责与服务器通信。 - `OperationFuture`:异步操作的未来结果,等待操作完成并获取结果。 - `CacheManager`:管理多个缓存实例,支持动态添加或删除服务器。 - `...
### pymemcache:一个全面、快速的纯Python memcached客户端库 #### 一、基本使用方法 `pymemcache` 是一个纯Python编写的memcached客户端库,它提供了高效且简便的方式来与memcached服务器进行交互。下面我们将...
- **一致性哈希(Consistent Hashing)**: 通过一致性哈希算法,`libmemcached`可以在添加或删除服务器时最小化数据重新分布的影响。 - **缓存失效策略**: 提供了TTL(Time To Live)和LRU(Least Recently Used)等...
在实际应用中,NuclearRose有普通节点(Node)负责处理客户端请求和数据存储,中心节点(Seed)维护整个实例的拓扑关系并执行健康检查,而Nuclear Client则向用户提供CRUD(创建、读取、更新、删除)操作的API接口。...
- **最终一致性**:BeansDB在设计上追求最终一致性,即在短期内可能会存在数据不一致的情况,但最终所有副本都会达到一致的状态。 - **高可用性**:即使某些节点发生故障,整个系统仍然可以正常运行,不会导致服务...
- Redis的操作具有原子性,确保了并发环境下的数据一致性。 - 提供了持久化选项,如RDB(Redis Database Backup)内存快照和AOF(Append Only File)日志,以在系统崩溃后恢复数据。 - 支持主从复制,可实现高...