需要使用内存数据库。经过对比 memcache,redis。其中memcache单个存储对象不能操作1M,是个限制。所以排除。
对redis性能进行测试:
环境(笔记本):cpu:i3,内存:6g,redis win 版 64位
测试:
1 存储1000000个序列化对象,90s;单个hashmap存储:10s(ps:需要在内存中集中存储对象,设置运行参数 -Xms128m -Xmx1024m)
2 存储10000000个序列化对象,1000s;单个hashmap存储:没有测试(分配1g不够用....)。
package com.yhxia.cache; import java.util.HashMap; import java.util.Map; import org.junit.Test; import redis.clients.jedis.Jedis; import com.yhxia.cache.common.People; import com.yhxia.cache.common.SerializeUtil; public class RedisTest { private final int total = 10000000;// 千万 @Test public void saveMapTest() { Jedis jedis = new Jedis("127.0.0.1", 6379); Map<Integer,People> map = new HashMap<Integer,People>(); for (int i = 0; i <= total; i++) { People p = new People(); p.setId(i); p.setName("name_" + i); map.put(i, p); } byte[] sp = SerializeUtil.serialize((HashMap<Integer,People>)map); jedis.set("peoples".getBytes(), sp); } @Test public void saveObjTest() { Jedis jedis = new Jedis("127.0.0.1", 6379); for (int i = 0; i <= total; i++) { People p = new People(); p.setId(i); p.setName("name_" + i); byte[] sp = SerializeUtil.serialize(p); jedis.set((i + "").getBytes(), sp); } } @Test public void getTest() { Jedis jedis = new Jedis("127.0.0.1", 6379); int count = 0; for (int i = 0; i <= total; i++) { People p = (People) SerializeUtil.unserialize(jedis.get((i + "") .getBytes())); if (p != null) count++; } System.out.println("object count:" + count); } }
package com.yhxia.cache.common; import java.io.Serializable; public class People implements Serializable{ private static final long serialVersionUID = 1L; private String name = ""; private int id = 0; public People(){ } public String getName() { return name; } public void setName(String name) { this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } }
对redis 的配置和启动,不是重点,不做叙述,可以参考:
redis:http://www.cnblogs.com/mejozn/archive/2013/05/05/3061949.html
jedis(java 调用库):http://www.blogways.net/blog/2013/06/02/jedis-demo.html
(其他扩展:https://github.com/xetorthio/jedis http://snowolf.iteye.com/blog/1633196)
相关推荐
以下是对"redis简单测试"这一主题的详细说明。 1. **Redis简介** Redis是一个开源(BSD许可),内存中的数据结构存储系统,可以作为数据库、缓存和消息中间件使用。它支持多种数据结构,如字符串、哈希、列表、...
这只是一个redis的简单小测试类,大家有兴趣可以下,里面都是一些常见的用法
【C++操作Redis数据库】 Redis是一个高性能的键值对存储系统,常被用作数据库、缓存和消息中间件。在C++中与Redis交互,通常需要借助客户端库,这里提到的是`hiredis`,这是一个轻量级、高效的纯C语言实现的Redis...
接下来,我们来看`redis_demo`这个文件,它很可能是一个包含Java代码的类或者一个简单的Java项目。在这个示例中,通常会包含以下几个关键部分: 1. **建立连接**:创建Jedis实例,指定Redis服务器的IP地址和端口号...
这个工具可能包含了命令行界面,用户可以简单地输入频道名和消息内容,然后工具会模拟发送消息到Redis,并展示接收结果。 使用此工具时,需要注意以下几点: 1. **配置连接**:首先,确保你的Redis服务器已经运行...
文章是redisUtils工具类的封装,和基于springboot环境的单元测试; 文中封装了redis的众多方法,希望对您有所帮助。
使用Jedis,开发者可以通过简单的Java代码执行Redis的各种操作,例如设置和获取键值、执行pipeline、订阅发布等。 3. **性能测试的目的**:性能测试旨在了解系统的处理能力、响应时间以及在高负载下的稳定性。在...
在测试中,我们可以创建一个简单的Java程序,使用Jedis库连接Redis、CoolHash(如果有Java API)和SqlServer,执行相同的操作(如set/get),并记录响应时间。比较这些时间可以评估各自的速度。 6. 源码和jar包: ...
Jedis 是 Java 开发者常用的 Redis 客户端库,它提供了丰富的 Redis 操作接口,使得在 Java 应用中与 Redis 交互变得简单。 在进行 Redis 的性能测试时,我们通常关注两个关键指标:读操作和写操作的性能。这里的...
6. **事务处理**:Redis支持简单的事务,通过`MULTI`、`EXEC`命令组合可以保证一组操作的原子性。 7. **发布/订阅模式**:Redis还提供了发布/订阅(Pub/Sub)功能,可以实现消息传递,适合构建实时消息系统。 8. *...
在这个"redis测试包"中,包含了两个重要的Java库:`commons-pool2-2.4.2`和`jedis-2.7.3`,它们是Java开发者在与Redis交互时常用的工具。 `commons-pool2-2.4.2`是Apache Commons Pool的第二版,它是一个对象池设计...
在本项目"springmvc整合redis简易Demo.zip"中,我们将探讨如何将Spring MVC框架与Redis内存数据存储系统相结合,以实现高效的数据缓存和管理。这个简易Demo是为Java开发者设计的,旨在帮助他们理解并实践Spring MVC...
在本测试环境中,我们将探讨如何利用Jedis进行Redis的基本操作,包括增删等。 首先,我们需要在本地或服务器上安装Redis。`redisbin64.zip`文件可能是Redis的Windows 64位版本,解压后包含可执行文件`redis-server....
这款“Redis简易工具”是专为测试Redis命令和学习使用而设计的,它简化了与Redis服务器交互的过程,使得开发者能够更便捷地了解和掌握Redis的功能。 首先,Redis支持多种数据结构,包括字符串(Strings)、哈希...
Memcached 和 Redis 性能测试 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。...
测试Redis的存储功能,我们可以使用Redis自带的命令行客户端`redis-cli`。在终端输入以下命令连接到本地Redis服务器: ```bash redis-cli ``` 连接成功后,可以尝试存储和获取数据。例如,设置一个键值对: ```...
`redis测试.rar` 文件可能包含了一个针对 Redis 的测试用例或示例代码,用于验证 Redis 模板(Redistemplate)在实际应用中的功能和性能。 `Redistemplate` 是 Spring Data Redis 框架提供的一种简化 Redis 操作的...
Redis支持的数据结构丰富,除了简单的字符串外,还包括哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set)。Jedis提供了对应的方法来操作这些数据结构,如: - 哈希:`hset`, `hget`, `hgetAll` - ...
TCL(Tool Command Language)则是一种简单易学的脚本语言,它在Redis的测试和开发过程中起到了重要作用。`redis tcl 8.6下载` 指的是为了运行Redis的测试,需要获取TCL 8.5或更高版本。 TCL 8.6是TCL的一个重要...