Redis是一款开源的、高性能的键-值存储(key-value store)。它常被称作是一款数据结构服务器(data structure server)。Redis的键值可以包括字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和 有序集合(sorted sets)等数据类型。 对于这些数据类型,你可以执行原子操作。例如:对字符串进行附加操作(append);递增哈希中的值;向列表中增加元素;计算集合的交集、并集与差集等。
为了获得优异的性能,Redis采用了内存中(in-memory)数据集(dataset)的方式。根据使用场景的不同,你可以每隔一段时间将数据集转存到磁盘上来持久化数据,或者在日志尾部追加每一条操作命令。
Redis同样支持主从复制(master-slave replication),并且具有非常快速的非阻塞首次同步(non-blocking first synchronization)、网络断开自动重连等功能。同时Redis还具有其它一些特性,其中包括简单的check-and-set机制、pub/sub和配置设置等,以便使得Redis能够表现得更像缓存(cache)。
Redis还提供了丰富的客户端,以便支持现阶段流行的大多数编程语言。详细的支持列表可以参看Redis官方文档:http://redis.io/clients。Redis自身使用ANSI C来编写,并且能够在不产生外部依赖(external dependencies)的情况下运行在大多数POSIX系统上,例如:Linux、*BSD、OS X和Solaris等。
jedisPooL使用步骤:
1->获取Jedis实例需要从JedisPool中获取;
package jhm;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
*
* Class Description:JedisPool测试类
*
* Author:gaoqi
*
* Date:2015年6月5日 下午2:03:08
*
*/
public class JedisPoolDemo {
private static JedisPool pool = null;
/**
* 测试jedis
* @param args
* void
*/
public static void main(String[] args) {
Jedis jedis = getJedis();
jedis.set("name", "八戒");
System.out.println(jedis.get("name"));
jedis.del("name");
System.out.println(jedis.exists("name"));
returnResource(pool,jedis); //将获取的jedis实例对象还回迟中
}
/**
* 获取JedisPool
* @return
* JedisPool
*/
public static JedisPool getPool() {
if (pool == null) {
JedisPoolConfig config = new JedisPoolConfig();
//控制一个pool最多有多少个状态为idle(空闲的)的jedis实例。
config.setMaxIdle(5);
//表示当borrow(引入)一个jedis实例时,最大的等待时间,如果超过等待时间,则直接抛出JedisConnectionException;
config.setMaxWaitMillis(10000);
//在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的;
config.setTestOnBorrow(true);
pool = new JedisPool(config, "127.0.0.1", 6379);
}
return pool;
}
/**
* 将jedis返回给jedisPool
* @param pool
* @param redis
* void
*/
public static void returnResource(JedisPool pool, Jedis redis) {
if (redis != null) {
pool.returnResource(redis);
}
}
/**
* 通过key获取Jedis中的value
* @param key
* @return
* String
*/
public static String get(String key){
String value = null;
JedisPool pool = null;
Jedis jedis = null;
try {
pool = getPool();
jedis = pool.getResource();
value = jedis.get(key);
} catch (Exception e) {
//释放redis对象
pool.returnBrokenResource(jedis);
e.printStackTrace();
} finally {
//返还到连接池
returnResource(pool, jedis);
}
return value;
}
/**
* 从jedisPool中获取jedis
* @return
* Jedis
*/
private static Jedis getJedis() {
JedisPool jedispool = getPool();//获得jedis实例
Jedis jedis =jedispool.getResource();
return jedis;
}
}
如果直接运行上面代码肯定会报connection异常的。那我估计对于小白来说,你肯定是没有启动redis服务了。
windows如何安装并启动redis服务呢?
下载地址https://github.com/dmajkic/redis/downloads。
下载到的Redis支持32bit和64bit。根据自己实际情况选择,我选择64bit。把64bit文件内容拷贝到需要安装的目录下,比如:D:\tools\redis
使用cd命令切换到指定目录(D:\tools\redis)运行 redis-server.exe redis.conf
ok
redis服务启动完成了。。。
再次运行java代码,就能看到控制台的测试结果了。。。。。。。