- 浏览: 595802 次
- 性别:
- 来自: 厦门
文章分类
- 全部博客 (669)
- oracle (36)
- java (98)
- spring (48)
- UML (2)
- hibernate (10)
- tomcat (7)
- 高性能 (11)
- mysql (25)
- sql (19)
- web (42)
- 数据库设计 (4)
- Nio (6)
- Netty (8)
- Excel (3)
- File (4)
- AOP (1)
- Jetty (1)
- Log4J (4)
- 链表 (1)
- Spring Junit4 (3)
- Autowired Resource (0)
- Jackson (1)
- Javascript (58)
- Spring Cache (2)
- Spring - CXF (2)
- Spring Inject (2)
- 汉字拼音 (3)
- 代理模式 (3)
- Spring事务 (4)
- ActiveMQ (6)
- XML (3)
- Cglib (2)
- Activiti (15)
- 附件问题 (1)
- javaMail (1)
- Thread (19)
- 算法 (6)
- 正则表达式 (3)
- 国际化 (2)
- Json (3)
- EJB (3)
- Struts2 (1)
- Maven (7)
- Mybatis (7)
- Redis (8)
- DWR (1)
- Lucene (2)
- Linux (73)
- 杂谈 (2)
- CSS (13)
- Linux服务篇 (3)
- Kettle (9)
- android (81)
- protocol (2)
- EasyUI (6)
- nginx (2)
- zookeeper (6)
- Hadoop (41)
- cache (7)
- shiro (3)
- HBase (12)
- Hive (8)
- Spark (15)
- Scala (16)
- YARN (3)
- Kafka (5)
- Sqoop (2)
- Pig (3)
- Vue (6)
- sprint boot (19)
- dubbo (2)
- mongodb (2)
最新评论
import java.lang.reflect.Field; import java.lang.reflect.Method; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; public class ReTest { static JedisPool pool = new JedisPool("127.0.0.1", 6379); static Jedis jedis = pool.getResource(); public static void main(String[] args) { // 密码验证 // jedis.auth("password"); Person person = new Person("1234", "alan1"); try { saveObject(Person.class,person,"person"); } catch (Exception e) { e.printStackTrace(); } // jedis.hset("person", "id", person.getId()); // jedis.hset("person", "name", person.getName()); } @SuppressWarnings("all") static void saveObject(Class clazz,Object obj,String key) throws Exception{ for(Field field:clazz.getDeclaredFields()){ String fieldName = field.getName() ; Method method = clazz.getDeclaredMethod("get"+fieldName.substring(0,1).toUpperCase()+fieldName.substring(1), null) ; jedis.hset(key, fieldName,(String)method.invoke(obj, null)); } System.out.println("加载完成"); } } class Person { private String id; private String name; /** * @param id * @param name */ Person(String id, String name) { super(); this.id = id; this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return this.id + " " + this.name; } }
package com.test; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.junit.Before; import org.junit.Test; import redis.clients.jedis.Jedis; public class TestRedis { private Jedis jedis; @Before public void setup() { //连接redis服务器,192.168.0.100:6379 jedis = new Jedis("192.168.0.100", 6379); //权限认证 jedis.auth("admin"); } /** * redis存储字符串 */ @Test public void testString() { //-----添加数据---------- jedis.set("name","xinxin");//向key-->name中放入了value-->xinxin System.out.println(jedis.get("name"));//执行结果:xinxin jedis.append("name", " is my lover"); //拼接 System.out.println(jedis.get("name")); jedis.del("name"); //删除某个键 System.out.println(jedis.get("name")); //设置多个键值对 jedis.mset("name","liuling","age","23","qq","476777389"); jedis.incr("age"); //进行加1操作 System.out.println(jedis.get("name") + "-" + jedis.get("age") + "-" + jedis.get("qq")); } /** * redis操作Map */ @Test public void testMap() { //-----添加数据---------- Map<String, String> map = new HashMap<String, String>(); map.put("name", "xinxin"); map.put("age", "22"); map.put("qq", "123456"); jedis.hmset("user",map); //取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List //第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数 List<String> rsmap = jedis.hmget("user", "name", "age", "qq"); System.out.println(rsmap); //删除map中的某个键值 jedis.hdel("user","age"); System.out.println(jedis.hmget("user", "age")); //因为删除了,所以返回的是null System.out.println(jedis.hlen("user")); //返回key为user的键中存放的值的个数2 System.out.println(jedis.exists("user"));//是否存在key为user的记录 返回true System.out.println(jedis.hkeys("user"));//返回map对象中的所有key System.out.println(jedis.hvals("user"));//返回map对象中的所有value Iterator<String> iter=jedis.hkeys("user").iterator(); while (iter.hasNext()){ String key = iter.next(); System.out.println(key+":"+jedis.hmget("user",key)); } } /** * jedis操作List */ @Test public void testList(){ //开始前,先移除所有的内容 jedis.del("java framework"); System.out.println(jedis.lrange("java framework",0,-1)); //先向key java framework中存放三条数据 jedis.lpush("java framework","spring"); jedis.lpush("java framework","struts"); jedis.lpush("java framework","hibernate"); //再取出所有数据jedis.lrange是按范围取出, // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有 System.out.println(jedis.lrange("java framework",0,-1)); jedis.del("java framework"); jedis.rpush("java framework","spring"); jedis.rpush("java framework","struts"); jedis.rpush("java framework","hibernate"); System.out.println(jedis.lrange("java framework",0,-1)); } /** * jedis操作Set */ @Test public void testSet(){ //添加 jedis.sadd("user","liuling"); jedis.sadd("user","xinxin"); jedis.sadd("user","ling"); jedis.sadd("user","zhangxinxin"); jedis.sadd("user","who"); //移除noname jedis.srem("user","who"); System.out.println(jedis.smembers("user"));//获取所有加入的value System.out.println(jedis.sismember("user", "who"));//判断 who 是否是user集合的元素 System.out.println(jedis.srandmember("user")); System.out.println(jedis.scard("user"));//返回集合的元素个数 } @Test public void test() throws InterruptedException { //jedis 排序 //注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的) jedis.del("a");//先清除数据,再加入数据进行测试 jedis.rpush("a", "1"); jedis.lpush("a","6"); jedis.lpush("a","3"); jedis.lpush("a","9"); System.out.println(jedis.lrange("a",0,-1));// [9, 3, 6, 1] System.out.println(jedis.sort("a")); //[1, 3, 6, 9] //输入排序后结果 System.out.println(jedis.lrange("a",0,-1)); } @Test public void testRedisPool() { RedisUtil.getJedis().set("newname", "中文测试"); System.out.println(RedisUtil.getJedis().get("newname")); } }
Redis连接池
package com.test; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; import redis.clients.jedis.JedisPoolConfig; public final class RedisUtil { //Redis服务器IP private static String ADDR = "192.168.0.100"; //Redis的端口号 private static int PORT = 6379; //访问密码 private static String AUTH = "admin"; //可用连接实例的最大数目,默认值为8; //如果赋值为-1,则表示不限制;如果pool已经分配了maxActive个jedis实例,则此时pool的状态为exhausted(耗尽)。 private static int MAX_ACTIVE = 1024; //控制一个pool最多有多少个状态为idle(空闲的)的jedis实例,默认值也是8。 private static int MAX_IDLE = 200; //等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException; private static int MAX_WAIT = 10000; private static int TIMEOUT = 10000; //在borrow一个jedis实例时,是否提前进行validate操作;如果为true,则得到的jedis实例均是可用的; private static boolean TEST_ON_BORROW = true; private static JedisPool jedisPool = null; /** * 初始化Redis连接池 */ static { try { JedisPoolConfig config = new JedisPoolConfig(); config.setMaxActive(MAX_ACTIVE); config.setMaxIdle(MAX_IDLE); config.setMaxWait(MAX_WAIT); config.setTestOnBorrow(TEST_ON_BORROW); jedisPool = new JedisPool(config, ADDR, PORT, TIMEOUT, AUTH); } catch (Exception e) { e.printStackTrace(); } } /** * 获取Jedis实例 * @return */ public synchronized static Jedis getJedis() { try { if (jedisPool != null) { Jedis resource = jedisPool.getResource(); return resource; } else { return null; } } catch (Exception e) { e.printStackTrace(); return null; } } /** * 释放jedis资源 * @param jedis */ public static void returnResource(final Jedis jedis) { if (jedis != null) { jedisPool.returnResource(jedis); } } }
- jedis-2.4.2.jar (294.2 KB)
- 下载次数: 4
- commons-pool2-2.4.1.jar (109.3 KB)
- 下载次数: 3
发表评论
文章已被作者锁定,不允许评论。
-
Redis 开发规范 (From阿里)学习总结
2018-03-19 14:26 491一、键值设计 1. key名设计 (1)【建议】: 可读性和可 ... -
Redis Linux安装总结(3.2.8)
2017-06-17 22:20 448第一步下载文件到该目录 cd /usr/local/src ... -
Redis 学习总结-02
2016-01-28 11:04 731----------------------------- ... -
Redis优化
2014-08-09 11:32 908redis公认内存管理成本比较高,即占用了过多的内存,redi ... -
Redis命令集合
2014-07-23 19:15 529PSUBSCRIBE pattern [pattern ... ... -
Redis保存对象实例
2014-07-19 11:46 567Redis没有直接存储对象的方法,不过Redis要以存储字节, ... -
Redis学习-01
2014-07-19 11:30 5291.Redis是一个key-value存储 ...
相关推荐
"java与redis学习例子"这个压缩包提供了一个学习Redis的基础环境,包括了四个主要部分:Redis文件、Redis常用命令测试、两个基于Web的Redis工程以及SQL脚本。 1. **Redis文件**: Redis服务器的配置文件通常为`...
通过学习和实践这些基本操作,你可以有效地在C#项目中集成Redis,利用其高性能和灵活性提升应用程序的效率。在进一步深入之前,确保熟悉Redis的数据类型和命令,这将有助于更好地设计和实现解决方案。
在这个"ssm+redis的小例子"中,我们将探讨如何将这三者进行有效整合,以及在实际项目中的应用。 首先,Spring框架作为基础,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性,使得代码更加模块化和易于管理...
这个"storm整合redis的例子源码"提供了实际操作的经验,帮助开发者理解如何在实际项目中结合这两者。通过阅读和学习源码,我们可以掌握实时数据处理和存储的关键技巧,这对于构建高效率、高可用的大数据处理系统具有...
Redis是一款高性能的键值对数据库,常用于数据缓存、消息队列以及实时统计等多种场景。作为初学者,了解并掌握Redis的基本操作是至关重要...继续深入学习和实践,你将能够充分利用Redis的强大功能来优化你的应用程序。
在本“redis单机安装完整例子”中,我们将深入探讨如何在单台机器上安装并配置Redis,同时了解如何使用Java进行调用。 一、Redis简介 Redis全称为Remote Dictionary Server,其数据结构丰富,支持字符串、哈希、...
在本文中,我们将深入探讨如何在IntelliJ IDEA(Idea)环境下,使用Spring Boot整合Redis,以便在Java应用中实现高效的数据...在实践中学习和理解这些知识,将有助于你更好地掌握Spring Boot的缓存机制和Redis的使用。
通过学习和实践"redis网络层echo例子",我们可以更好地理解Redis如何高效地处理网络通信,包括事件驱动模型、I/O缓冲区管理以及非阻塞和多路复用技术的运用。这个例子不仅可以帮助我们深入理解Redis的内部工作原理,...
通过这些例子,开发者可以快速理解和学习如何在LabVIEW中有效利用Redis服务。 总结来说,`REDIS_redis的工具包`提供了在LabVIEW中无缝集成Redis的能力,使得LabVIEW程序能够利用Redis的强大功能,实现高效的数据...
【标题】"火山视窗redis数据库列表操作例子.zip" 提供了一个关于在火山视窗环境下进行Redis数据库列表操作的实际示例。Redis是一个开源的、基于键值对的NoSQL数据库,广泛用于数据缓存、消息队列等场景。在Windows...
总结来说,这个压缩包是一个丰富的学习资源,通过实际项目展示了如何在Java应用中利用Spring Data与JPA、MongoDB、Neo4j和Redis这些不同的数据库系统进行高效且灵活的数据操作。无论是初学者还是经验丰富的开发者,...
Redis 是一个高性能的键值对数据存储系统,常用于缓存、消息中间件以及数据库功能。在本实例中,我们将探讨如何使用...通过学习和实践这个例子,你可以更好地理解和掌握如何在实际项目中使用Redis进行数据存储和检索。
以下是一些 Redis 的基本概念和简单使用例子,适合新手入门。 环境搭建 下载 Redis:访问 Redis 官网 下载最新版本的 Redis。 安装 Redis:根据你的操作系统安装 Redis。对于大多数 Linux 发行版,你可以使用包...
【Redis学习代码,一个简单的项目】 Redis,全称Remote Dictionary Server,是一款开源的、高性能的键值对存储系统,常用于实现数据缓存、计数器、发布/订阅消息系统等场景。它支持多种数据结构,如字符串、哈希、...
在IT行业中,Spring Boot是一个非常流行的Java开发框架,它简化了Spring应用...在`demo22`这个示例中,你可能找到了这些功能的具体实现代码,通过学习和理解这些代码,你可以更好地掌握Spring Boot与Redis的整合技巧。
在本"RedisDemo增删改查例子"中,我们将深入理解如何利用Redis进行基本的数据操作,包括添加(Add)、删除(Delete)、修改(Modify)和查询(Check)。 1. 添加(Add) Redis提供了多种数据结构来存储数据,如...
其次,`Redis学习笔记整理__java例子.doc`提供了使用Java与Redis交互的实际例子。Java是常见的后端开发语言,文档中的例子可以帮助Java开发者快速上手Redis客户端库,如Jedis,学习如何进行数据的存取、事务操作、...
作者通过编写各种小例子,帮助读者将理论知识转化为实践技能,更好地理解Redis在实际场景中的应用。这些实例涵盖了从基本操作到复杂应用场景的各个方面,使学习过程更为生动有趣。 总之,《Redis实战》是一本全面且...
redis安装包 1.NOSQL数据库入门 ...6.Redis学习笔记 7.redis项目实战 8.Redis 多机特性工作原理简介 9.redis深入研究及大集群实战经验 10.Redis 的安装配置介绍 12.Redis 的安装配置 等等 helloredis 例子源码