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代码,就能看到控制台的测试结果了。。。。。。。
相关推荐
【Android 安卓入门Demo详解】 Android 是一种广泛使用的开源操作系统,主要应用于移动设备,如智能手机和平板电脑。本入门Demo提供了全面的学习资源,涵盖了Android开发中的基础元素和关键概念,帮助初学者快速...
JedisPool jedisPool = new JedisPool(poolConfig, "localhost", 6379); Jedis jedis = jedisPool.getResource(); // 使用后释放连接 jedis.close(); ``` 7. **JedisTest**:这个压缩包中的文件“JedisTest”...
**SpringBoot基础入门** SpringBoot是由Pivotal团队提供的全新框架,其设计目标...通过这个“SpringBoot基础入门demo”,你可以深入了解和实践SpringBoot的核心特性,为后续的深入学习和实际项目开发打下坚实的基础。
在压缩包"redis-Demo-3.4.9"中,可能包含了演示如何使用Jedis操作Redis集群的具体示例代码,包括上述的各种操作。通过阅读和运行这些代码,你可以更深入地了解Jedis在集群环境下的使用方式。 总之,Jedis为Java...
【Android入门Demo源码详解】 Android作为全球最受欢迎的移动操作系统之一,是许多开发者入门编程的首选平台。这个“Android入门demo源码”是专为初学者设计的学习资源,旨在通过实际操作来帮助理解Android开发的...
编译器版本:IntelliJ IDEA 2020.3.2 x64 JDK版本:java 1.8.0_111 SpringBoot集成MyBatis-Plus快速入门Demo,包括CRUD操作、多条件查询、性能分析等代码实现。
一个简单的区块链入门demo
JedisPool jedisPool = new JedisPool(poolConfig, "localhost", 6379); ``` 接下来,我们将探讨Redis的五大数据类型:字符串(Strings)、哈希(Hashes)、列表(Lists)、集合(Sets)和有序集合(Sorted Sets)...
【Python入门Demo-WordCount】是一个适合初学者的Python编程示例,主要目的是介绍如何使用Python进行基础的数据处理,特别是文本分析中的词频统计。在这个Demo中,我们将学习到Python语言的一些基本语法、文件操作、...
JavaWeb入门级别的DEMO主要涉及的是Java开发中的Web应用程序构建,使用了SSM(Spring、SpringMVC、MyBatis)三大主流框架。这个DEMO旨在为初学者提供一个简单的学习平台,帮助他们快速理解并掌握JavaWeb开发的基础...
jedis调用redis源码Demo,直接导入工程就可以运行。 redis目录下有redis安装文件和入门电子书 redis64-2.8.9.zip redisbin_x32.zip Redis入门指南(JB51.NET).pdf Redis设计与实现.pdf src: FirestJedisTest.java ...
编译器版本:IntelliJ IDEA 2020.3.2 x64 JDK版本:java 1.8.0_111 SpringBoot集成JWT快速入门Demo,演示jwt生成与验证等功能,可以通过swaggler或者Postman进行测试。
java 微信公众号开发入门 DEMO 可直接跑起来的 大家可以直接下载,然后练习一下。java 微信公众号开发入门 DEMO 可直接跑起来的 大家可以直接下载,然后练习一下。
"jstorm storm入门demo" 这个标题表明了这是一个关于JStorm和Storm框架的基础教学示例。JStorm是阿里巴巴开源的一个分布式实时计算系统,它基于Apache Storm,但提供了更稳定、高性能以及易用的特性。这个demo可能是...
**GreenDao傻瓜入门demo** 是一个专门为初学者设计的示例项目,旨在帮助开发者快速理解和使用GreenDao这个流行的Android数据库框架。GreenDao是一个高效、轻量级的对象关系映射(ORM)工具,它允许开发者以Java对象...
【Android入门小Demo】是一个适合初学者的项目,旨在教授Android应用开发的基础知识。这个小Demo专注于实现一个简单的判断题目功能,用户可以在此应用中回答是或否的问题,系统会根据用户选择判断答案的正误。这个...
Bootstrap与EasyUI入门Demo 很适合新手做测试 Bootstrap与EasyUI入门Demo 很适合新手做测试
"Mac OSX项目入门demo"是一个很好的起点,它涵盖了基本的界面构建和交互元素,如tableView和按钮的使用。以下是对这些关键知识点的详细解释: 1. **Mac OS X开发环境**:首先,你需要安装Xcode,这是Apple官方提供...
WebSocket 的入门Demo!
这个"C++入门Demo"是专为初学者设计的,旨在帮助他们快速掌握C++的基础知识,特别是针对Android开发的C++应用。 首先,C++的核心特性包括面向对象编程(OOP)、泛型编程和底层系统访问能力。在这个Demo中,你可能会...