java操作redis简单学习3

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

package com.hanchao.testredis;import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;import redis.clients.jedis.Jedis;import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.hanchao.entity.Person;
import com.jedismanager.config.JedisClient;
import com.jedismanager.config.JedisClientFactory;
import com.sohu.tv.so.model.pojo.Kis;/*** 使用JedisClientFactory* @author liweihan* @version 1.0 (2014年12月16日 下午4:30:13)*/
public class RedisClient3 {private static final JedisClientFactory factory = JedisClientFactory.getFactory("redis2");private static final int Data12 = 12;// 数据库12/*** 向缓存中设置字符串内容* @param key* @param value* @return* * 2014年12月16日 下午2:18:31* liweihan*/public static boolean set(String key, String value) {JedisClient client = factory.getClient();try {Jedis jedis = client.getSource();jedis.select(3); //会存到cluster的redis第三个库中[根据权重]//redis.master貌似没有多少用啊jedis.set(key, value);return true;} catch (Exception e) {e.printStackTrace();return false;}finally{client.returnSource();}}/*** 向redis中设置字符串【使用了fastJson】* @param key* @param value* @return* * 2014年12月16日 下午2:20:47* liweihan*/public static boolean set(String key,Object value) {JedisClient client = factory.getClient();try {String objectJson = JSON.toJSONString(value);Jedis jedis = client.getSource();jedis.select(Data12);jedis.set(key, objectJson);return true;} catch (Exception e) {e.printStackTrace();return false;}finally{client.returnSource();}}/*** 根据key删除缓存中的对象* @param key* @return* * 2014年12月16日 下午2:22:32* liweihan*/public static boolean del(String key) {JedisClient client = factory.getClient();try {Jedis jedis = client.getSource();jedis.select(Data12);//需要指定那个数据库jedis.del(key); return true;} catch (Exception e) {e.printStackTrace();return false;}finally{client.returnSource();}}/*** 根据key获取内容* @param key* @return* * 2014年12月16日 下午2:24:10* liweihan*/public static Object get(String key) {JedisClient client = factory.getClient();try {Jedis jedis = client.getSource();jedis.select(Data12);Object value = jedis.get(key);return value;} catch (Exception e) {e.printStackTrace();return false;}finally{client.returnSource();}}/*** 根据key获取对象* @param key* @param clazz* @return* * 2014年12月16日 下午2:27:15* liweihan*/public static <T> T get(String key ,Class<T> clazz) {JedisClient client = factory.getClient();try {Jedis jedis = client.getSource();jedis.select(Data12);String value = jedis.get(key);return JSON.parseObject(value, clazz);} catch (Exception e) {e.printStackTrace();return null;}finally{client.returnSource();}}public static void main(String[] args) {//1.存入字符串
/*		for (int i = 0; i < 20; i++) {System.out.println("存入字符串" + set("hanchao"+i, "redis"+i));}*///1.向redis中保存对象System.out.println(" ----------- 从redis中存入对象 --------------");Person p1 = new Person();p1.setId(1);p1.setName("hanchao");boolean result = set("p1", p1);if (result) {System.out.println("保存成功");} else {System.out.println("保存失败");}//2.删除对象//System.out.println(del("p1"));//1.1从redis取对象System.out.println(" ----------- 从redis中获取对象 --------------");Person person1 = get("p1", Person.class);System.out.println("获取的对象:" + person1.getId() + "," + person1.getName());//2.向redis存入集合System.out.println(" ----------- 从redis中存入集合 --------------");List<Person> list = new ArrayList<Person>();Person p2 = new Person();p2.setId(2);p2.setName("hanchao2");list.add(p1);list.add(p2);boolean result2 = set("list", list);if (result2) {System.out.println("存入list成功!");} else {System.out.println("存入list失败!");}//2.向redis取集合System.out.println(" ----------- 从redis中取集合 --------------");//http://hanchaohan.blog.51cto.com/2996417/1584759String listStr = (String) get("list");System.out.println("list:" + listStr);//list:[{"id":1,"name":"hanchao"},{"id":2,"name":"hanchao2"}]List<Person> list2 = JSON.parseArray(listStr, Person.class);for (Person p : list2) {System.out.println("ID:" + p.getId());System.out.println("NAME:" + p.getName());}System.out.println("-- 可以判断是linux机器还是windows机器:" + File.separator);}
}

配置文件:

redis.pool.maxActive=1024
redis.pool.maxIdle=1000
redis.pool.maxWait=1000
redis.pool.testOnBorrow=true
redis.pool.testOnReturn=true
redis.clusters=10.10.52.141:6379:3,10.10.78.208:6379:3
redis.connection.max.tried=10
#redis.master=10.10.78.208:6379:1


转载于:https://my.oschina.net/hanchao/blog/357261

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/290185.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Xamarin效果第三篇之手机底部弹窗

前面一篇文章把基本的大框架搞定了,这不再逐个去实现里面的细节;今天主要是分享点击了CollectionView内的点点点然后从手机底部弹出一个可以交互的窗口;直接看看最终实现的效果:作为初来乍到的小萌新只能求助万能的群友让大佬们给指条光明通畅的大道,不然容易跑偏;最终给的方向…

自定义sql_一个简单易用的开源BI软件,专为SQL用户设计的开源库

poli一个易于使用的SQL报告应用程序&#xff0c;专为SQL爱好者而设计。SQL中的电源数据分析&#xff0c;可获得更快的业务洞察力。特性⚡️ 自托管和轻松设置平台独立的Web应用程序 单个JAR文件单个SQLite DB文件。在5分钟内启动并运行。连接任何支持JDBC驱动程序的数据库Postg…

Android之ndk编译出现这个错误error: unused variable ‘a‘ [-Werror=unused-variable]

1、问题 在jni里面就加了一行代码 编译的时候出现这个错误 error: unused variable a [-Werrorunused-variable] 2、解决办法 找到相应的Makefile文件 LOCAL_CFLAGS -Wall -Werror 去掉上面的 -Werror&#xff0c;改成如下 LOCAL_CFLAGS -Wall 就可以了

ELK 中的elasticsearch 集群的部署

本文内容 背景ES集群中第一个master节点ES slave节点本文总结 Elasticsearch&#xff08;以下简称ES&#xff09;搭建集群的经验。以 Elasticsearch-rtf-2.2.1 版本为例。 我搭过三个集群&#xff1a;研究ELK时搭了一个&#xff1b;测试环境搭了一个&#xff1b;生产环境搭了一…

Group Box组合框的简单使用 [大三TJB_708]

http://blog.csdn.net/misskissc/article/details/9317783 Group Box组合框的简单使用 [大三TJB_708] 转载于:https://www.cnblogs.com/chuangyiyuan/p/4885637.html

.NetCore中EF Core为迁移的数据库表统一添加前缀

在项目开发的过程中我们往往需要将项目数据库中的表添加一个统一的前缀。我们为什么要添加表前缀呢&#xff1f;有的可能是公司规定&#xff0c;更多的原因是项目和业务的区分。每个项目针对不同的需求或业务场景&#xff0c;追加相应的标识。当项目到达一定规模后&#xff0c;…

Java对象生命周期

目录 1. 创建阶段(Created)2. 应用阶段(In Use)3. 不可见阶段(Invisible)4. 不可达阶段(Unreachable)5. 收集阶段(Collected)6. 终结阶段7. 对象空间的重新分配1. 创建阶段(Created) 为对象分配存储空间开始构造对象从父类到子类对static成员进行初始化父类成员变量按照顺序初始…

C和指针之动态内存分配常见问题和总结

1、动态内存分配常见问题 1) 结构体成员指针未初始化 2)为指针分配内存太小 3)内存分配成功,但是没初始化 4)内存越界,内存泄漏,free多次或者释放之后没有设置为NULL 2、测试代码 #include <stdio.h> #include <stdlib.h> #inclu…

echarty轴自定义显示不全_表格打印不全怎么办?这招超简单!

私信回复关键词【福利】~获取丰富办公资源&#xff0c;助你高效办公早下班&#xff01;大家好&#xff0c;我是小E~最近&#xff0c;秋叶 Excel 学习班花生 同学&#xff0c;从同事那里收到了一份开会要用的表格&#xff0c;需要马上就要打印出来。会议主题是&#xff0c;从五个…

Xcode命令行生成Bitcode静态库

近两三年一直在做静态库开发 1、在Xcode工程中创建静态库的Target&#xff0c;最初是手动Build出真机的.a文件&#xff0c;模拟器的.a文件&#xff0c;然后再用命令行合并 2、后来一些特殊的开发者&#xff0c;要求加入特殊的功能&#xff0c;或者开放特殊的接口和属性&#xf…

app接口开发(php)

1.JSON方式封装通信接口&#xff1a; 封装&#xff1a; response.php <?php // JSON方式封装通信接口 // 定义 response类 class Response {// 定义一个静态方法,作用&#xff1a;按json方式产生数据 // 规范通信数据&#xff1a;参数一:状态码,参数二:消息提示(初始值为空…

如何优雅地处理 EF Core 异常

前言当我们在使用 EF Core 保存数据时&#xff0c;可能会出现问题&#xff0c;比如插入重复的值&#xff0c;这时我们会收到DbUpdateException&#xff1a;如果把内部异常信息直接返回给客户&#xff0c;这样不太友好&#xff0c;同时也会暴露数据库细节。如何更优雅地处理这些…

利用 VMware vRealize - 构建和优化云管理

2019独角兽企业重金招聘Python工程师标准>>> 利用 VMware vRealize - 构建和优化云管理 VMware vCloud Suite 5.8是新一代基于软件定义数据中心架构构建与管理vSphere私有云的一体化产品&#xff0c;可支持各企业提升效率、控制性与灵活性&#xff0c;实现关键性的I…

linux c之在终端如何依赖.o文件(静态链接库)运行C文件的命令

1、问题 比如在linux的终端&#xff0c;我们运行有个aa.c文件&#xff0c;但是这个这C文件又依赖.o文件&#xff0c;之前我不知道怎么运行&#xff0c;今天才知道,直接放后面就行了 2、命令如下 gcc -g aa.c ***.o -o aa 如果有线程记得加上phread gcc -g aa.c ***.o -o…

合流超几何函数_【初中数学大招流】从平面几何到解析几何

写在前面&#xff1a;本文适合初三学生&#xff1b;本文所讲的方法&#xff0c;可供平时的学习开拓思维&#xff0c;考试时也许可以帮你得分&#xff0c;但请慎用&#xff01;创作不易&#xff0c;喜欢的话不要只收藏呀&#xff0c;双击屏幕有惊喜哦~2019.6.2 更新了一道例题&a…

NOIP2012模拟试题【奶牛晒衣服】

1&#xff0e;奶牛晒衣服(dry) 【问题描述】 在熊大妈英明的带领下&#xff0c;时针和它的同伴生下了许多牛宝宝。熊大妈决定给每个宝宝都穿上可爱的婴儿装。于是&#xff0c;为牛宝宝洗晒衣服就成了很不爽的事情。 圣人王担负起了这个重任。洗完衣服后&#xff0c;你就要弄干衣…

PYTHON REQUESTS的安装与简单运用

PYTHON REQUESTS的安装与简单运用 2013.07.09强烈推荐&#xff01;requests官方文档已有了中文版&#xff0c;请见http://cn.python-requests.org/zh_CN/latest/ 。 requests是python的一个HTTP客户端库&#xff0c;跟urllib&#xff0c;urllib2类似&#xff0c;那为什么要用re…

7. 堪比JMeter的.Net压测工具 - Crank 总结篇 - crank带来了什么

1. 前言通过上面的学习&#xff0c;我们已经了解清楚crank的职责以及作用&#xff0c;那么我们重新回来思考一下&#xff0c;crank能为我们带来什么&#xff1f;2. Crank带来了什么&#xff1f;为分布式压测提供了解决方案、可以模拟更高强度的压测单机压测最多提供65535&#…

3732: Network

3732: Network Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 395 Solved: 179[Submit][Status]Description 给你N个点的无向图 (1 < N < 15,000)&#xff0c;记为&#xff1a;1…N。 图中有M条边 (1 < M < 30,000) &#xff0c;第j条边的长度为&#xff1a; …

Android编译出现XML or text declaration not at start of entity

1、问题 运行Android项目的时候提示出现这个XML or text declaration not at start of entity 日了狗前几天都正常2、解决办法 原来是我的一个xml文件的头部有空格&#xff0c;去掉了就好了。