管理工具和java操作redis
来源:互联网 发布:酒店数据分析百度 编辑:程序博客网 时间:2024/05/21 05:22
第一步 下载好redis和管理工具
为了方便下载,我这里分享了自己的工具,百度链接:http://pan.baidu.com/s/1qYfQlsS 密码:kgxk
我这是redis 3.0.1 win64版的,目录结构如下:
第二步 双击redis-server.exe启动redis,默认本地IP,端口6379 界面如下:
然后安装好redis管理工具(RedisDesktopManager),并打开如图:
当然左边的redis连接列还没有,还得建立连接。
点击add New Connection,添加刚刚启动的redis连接 。如图:
给要连接的redis一个名称,然后ip 可以是localhost或127.0.0.1,端口6379。若给redis设置过密码,则需要填写Auth,然后ok就好了,左边会显示你已连接的redis。
比如点开redis1,展开redis1的数据,目前只存了db0,点击具体数据项后右边显示具体数据,可修改删除。如图:
第三步 java操作redis
java操作redis,需要导入jedis.jar 包,我上传了jedis-2.4.2.jar。代码上和jdbc也差不太多,下面我就直接贴代码了:
package redis;import redis.clients.jedis.JedisPool;import redis.clients.jedis.JedisPoolConfig;/** * 取redis 连接池 */ public class RedisClientPool{ public static RedisClientPool redisClientPool = getInstance(); public static JedisPool jedisPool; public static synchronized RedisClientPool getInstance() { if (null == redisClientPool){ redisClientPool = new RedisClientPool(); } return redisClientPool; } public RedisClientPool(){ if (null == jedisPool){ init(); } } /** * 初始化Jedis * <一句话功能简述> * <功能详细描述> * @return * @see [类、类#方法、类#成员] */ private static JedisPoolConfig initPoolConfig(){ JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); // 控制一个pool最多有多少个状态为idle的jedis实例 jedisPoolConfig.setMaxIdle(1000); // 最大能够保持空闲状态的对象数 jedisPoolConfig.setMaxIdle(300); // 超时时间 jedisPoolConfig.setMaxWaitMillis(1000); // 在borrow一个jedis实例时,是否提前进行alidate操作;如果为true,则得到的jedis实例均是可用的; jedisPoolConfig.setTestOnBorrow(true); // 在还会给pool时,是否提前进行validate操作 jedisPoolConfig.setTestOnReturn(true); return jedisPoolConfig; } /** * 初始化jedis连接池 */ public static void init(){ JedisPoolConfig jedisPoolConfig = initPoolConfig(); String host = "localhost"; int port = 6379; int timeout = 100000; //String password = "@caoyn"; // 构造连接池 jedisPool = new JedisPool(jedisPoolConfig, host, port, timeout); } public static void main(String[] args) { RedisClientPool redisClientPool1 = getInstance(); redisClientPool1.jedisPool.getResource().append("name", "曹大达"); System.out.println("已缓存成功"); }}
下面直接使用redis连接池:
package redis;import redis.RedisClientPool;import java.util.List; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import redis.clients.jedis.Jedis;/** * redis 操作api */ public class RedisClient { /** * 保存数据 类型为 Map * <一句话功能简述> * <功能详细描述> * @param flag * @param mapData * @see [类、类#方法、类#成员] */ public static void setMapDataToRedis(String flag,Map<String,String> mapData) { Jedis redisClient = null; try { redisClient = RedisClientPool.jedisPool.getResource(); redisClient.hmset(flag,mapData); } catch (Exception e) { // 销毁对象 RedisClientPool.jedisPool.returnBrokenResource(redisClient); } finally { // 还原到连接池 RedisClientPool.jedisPool.returnResource(redisClient); } } /** * 保存数据 类型为 key-value * <一句话功能简述> * <功能详细描述> * @param flag * @param field * @param value * @see [类、类#方法、类#成员] */ public static void setDataToRedis(String flag,String field,String value) { Jedis redisClient = null; try { redisClient = RedisClientPool.jedisPool.getResource(); redisClient.hset(flag, field, value); } catch (Exception e) { // 销毁对象 RedisClientPool.jedisPool.returnBrokenResource(redisClient); } finally { // 还原到连接池 RedisClientPool.jedisPool.returnResource(redisClient); } } /** * 获取Map数据 * <一句话功能简述> * <功能详细描述> * @param flag * @return * @see [类、类#方法、类#成员] */ public static Map<String,String> getMapData(String flag) { Map<String,String> dataMap = null; Jedis redisClient = null; try { redisClient = RedisClientPool.jedisPool.getResource(); dataMap = redisClient.hgetAll(flag); } catch (Exception e) { // 销毁对象 RedisClientPool.jedisPool.returnBrokenResource(redisClient); } finally { // 还原到连接池 RedisClientPool.jedisPool.returnResource(redisClient); } return dataMap; } public static long deleteData(String flag) { long result = 0; Jedis redisClient = null; try { redisClient = RedisClientPool.jedisPool.getResource(); result = redisClient.del(flag); } catch (Exception e) { // 销毁对象 RedisClientPool.jedisPool.returnBrokenResource(redisClient); } finally { // 还原到连接池 RedisClientPool.jedisPool.returnResource(redisClient); } return result; } /** * 根据key和字段获取数据 * <一句话功能简述> * <功能详细描述> * @param flag * @param field * @return * @see [类、类#方法、类#成员] */ public static String getData(String flag,String field) { String data = null; Jedis redisClient = null; try { redisClient = RedisClientPool.jedisPool.getResource(); data = redisClient.hget(flag, field); } catch (Exception e) { // 销毁对象 RedisClientPool.jedisPool.returnBrokenResource(redisClient); } finally { // 还原到连接池 RedisClientPool.jedisPool.returnResource(redisClient); } return data; } public static void main(String[] args) throws Exception{ RedisClient.testMap(); } public static void testList() { Jedis redis = RedisClientPool.jedisPool.getResource(); //hset key field value将哈希表key中的域field的值设为value。 redis.hset("table", "field1", "value1"); redis.hset("table", "field2", "value2"); redis.hset("table", "field3", "value3"); //返回哈希表key中,一个或多个给定域的值。 List<String> list = redis.hmget("table","field1","field2","field3"); for(String tmp : list) { System.out.println(tmp); } } public static void testMap() { //同时将多个field - value(域-值)对设置到哈希表key中。 Map<String,String> map = new ConcurrentHashMap<String,String>(); for (int i = 0;i < 10000;i++){ map.put("field"+i, "value"+i); } if (null != getData("table", "field1")){ deleteData("table"); } //得到map下面的username的值 Map<String,String> maps = getMapData("table"); System.out.println(maps.size()); setMapDataToRedis("table",map); //HGETALL key返回哈希表key中,所有的域和值。 maps = getMapData("table"); System.out.println(maps.size()); } }
0 0
- 管理工具和java操作redis
- redis - Java操作 用redisson 和 jedis 操作redis数据库
- redis【java操作redis】
- redis 管理工具
- Java操作redis集群和主从
- redis 学习手册之java和php连接redis操作
- Java操作Redis实现增删改查和基本操作
- redis学习心得 -- java 操作 redis
- Redis--利用JAVA操作Redis
- redis - Java操作
- java操作redis
- redis java对象操作
- java操作redis
- Java 操作redis
- 利用JAVA操作Redis
- java操作redis
- java操作redis
- 利用JAVA操作Redis
- 升级HCA卡的firmware
- Python 2.7 中的pandas 中的read_excel
- redis的五种数据结构
- mysql--外键(froeign key)
- php开发一个守护进程
- 管理工具和java操作redis
- unity手动拖拽播放视频的bug小结
- 2017ACM省赛总结
- LMAX简介
- 3.行为型模式
- 永坤电机SEO三天两夜课程学习总结
- java JDBC 通过物理连接数据库和通过获取数据库连接池进行链接
- python、pip安装
- Spring类PropertyPlaceholderConfigurer的作用(较全)