最近有个项目需要模拟session机制,存储到membase中,供多个程序认证和单点登录使用。
需要对membase 中set进的某key实时更新有效时间。
1.cache.getAndTouch 对有效期有更新的作用。
MemcachedClient cache = new MemcachedClient(Arrays.asList(URI.create("http://172.16.2.47:8091/pools")), "login_session","login_session");
OperationFuture<Boolean> o = cache.set("11111",5,"11111aaaaaabbbccccDDD");
for(int i =0;i<10;i++){
Thread.sleep(1000*4);
CASValue a = cache.getAndTouch("11111", 5);
System.out.println(a.toString()+"-------");
String t = (String)a.getValue();
System.out.println(new Date()+" 时间 ====》"+i+"内容"+t);
}
每次都可以访问到key查询的value!
2.cache.getAndLock
MemcachedClient cache = new MemcachedClient(Arrays.asList(URI.create("http://172.16.2.47:8091/pools")), "login_session","login_session");
OperationFuture<Boolean> o =cache.set("11111",20,"11111aaaaaabbbccccDDD");
for(int i =0;i<10;i++){
CASValue s = cache.getAndLock("11111", 4);
String t = (String)s.getValue();
Thread.sleep(1000*4);
System.out.println(new Date()+" 时间 ====》"+i+"内容"+t);
}
前5次可以取出key的值,只有为null。
分享到:
相关推荐
做为缓存解决方案,Memcached已经在不同类型的领域(特别是大容量的Web应用)有了广泛的使用,其中 Memcached的部分基础代码被直接应用到了Membase服务器的前端。 通过兼容多种编程语言和框架,Membase具备了很好的...
在C#和.NET环境中,与MemBase交互主要依赖于Couchbase的.NET客户端库,这使得.NET开发者能够方便地将MemBase集成到他们的应用程序中。本文将深入探讨如何进行Couchbase MemBase的C#/.NET简单调用。 首先,安装...
Membase part1
### NorthScale Membase Server User Guide知识点 #### 关于NorthScale Server NorthScale Server是一款高性能、分布式内存数据库系统,旨在提供可扩展性和高可用性。它适用于处理大规模数据集的应用程序,尤其是在...
此应用程序代表所有内存缓存智能服务的层次结构的顶部。 它是Erlang OTP意义上的应用程序。 建筑 构建依赖项包括: 埃尔朗20.3 建筑: 您应该按照此处的说明使用顶级make文件和回购清单: : 运行时依赖 在启动...
Membase 支持 memcached 协议,使得已有的 memcached 应用能够无缝接入。它提供线性可扩展性,允许通过添加更多节点来增加集群容量。Membase 采用多种策略确保性能和高可用性,如自动数据迁移、多线程低锁争用、异步...
1. **键值(Key-Value)存储**:这类系统提供了简单的get/set/delete操作,适用于高速缓存和会话管理等场景。例如TC/TT、Dynamo、Voldemort、Berkeley DB (BDB)、Riak、memBase、LevelDB、memcached、Tair等。 2. **列...
Membase(现为Couchbase)专注于缓存和高性能数据存储,适合实时交互应用。Neo4j则是一款图形数据库,擅长处理复杂关系数据,适合社交网络和推荐系统等应用。 总的来说,NoSQL数据库的选择应基于具体项目的需求,如...
4. Membase:Membase是一个基于分布式架构的缓存系统,提供了高性能的缓存服务。Membase可以将对象缓存在内存、硬盘或数据库中,并且可以在分布式环境中提供高性能的缓存服务。 Membase的优点在于它可以提供高性能...
SQLite是目前最流行的开源嵌入式数据库,和很多其他嵌入式存储引擎相比(NoSQL),如BerkeleyDB、MemBASE等,SQLite可以很好的支持关系型数据库所具备的一些基本特征,如标准SQL语法、事务、数据表和索引等。...
6. **Membase**(现为Couchbase Server):提供高性能的键值存储,适合实时数据访问。它结合了Memcached的内存速度和CouchDB的持久化能力,适用于游戏积分系统、实时广告投放等。 7. **Neo4j**:图数据库,适合处理...
- **Membase 1.7发布**:开源NoSQL系统Membase推出了1.7版本,标志着NoSQL技术在大数据处理和高性能需求场景下的持续进步。此版本的发布反映了NoSQL数据库在应对大规模数据存储和快速访问需求方面的强大能力。 - **...
Membase作为重量级的NoSQL数据库成员,提供了与MongoDB不同的分布式文件存储解决方案。 自动任务调度框架***和Topshelf提供了快速简便的作业调度和Windows服务创建功能,便于开发者管理后台任务和系统服务。 依赖...
SQLite是一种广泛应用的开源嵌入式数据库系统,相比其他NoSQL存储引擎,如BerkeleyDB和MemBASE,它提供了标准的关系型数据库特性,如SQL语法、事务处理、数据表和索引。尽管SQLite具有这些特性,但其设计目标是轻量...
SQLite与BerkeleyDB、MemBASE等NoSQL存储引擎相比,虽然都是嵌入式的,但SQLite更倾向于提供传统关系型数据库的支持和便利性。 SQLite的主要特征包括管理上的简便性,几乎可以做到无需管理。它的操作非常方便,生成...
couchbase是一个非关系型数据库,它实际上是由couchdb+membase组成,所以它既能像couchdb那样存储json文档,也能像membase那样高速存储键值对。主要有以下几个特点: 速度快 由于是放在内存中的数据库,所有的读写...