redis缓存(jedis), 链接,存,取,String,map,对象
来源:互联网 发布:淘宝定制产品规则 编辑:程序博客网 时间:2024/05/22 07:01
windows
redis.windows.conf 配置访问ip 和 端口 和 auth
cmd cd 到解压目录 执行 redis-server.exe redis.windows.conf 如果不指定配置文件,设置项重新启动后失效
设置好后 可以使用redismanager 可视化工具连接 安装包,可视化工具&jar
java
import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Set;import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisShardInfo; public class JedisDemo{ private final static String AUTH = "12345678";//redis 密码 //transient 不会被序列化 public void addHashMap(String key, HashMap map){ Jedis redis = new Jedis ("127.0.0.1",6379);//连接redis redis.auth(AUTH); redis.hmset(key, map); System.out.println("hashmap set success!"); } public HashSet queryHashMapByKey(String key){ Jedis redis = new Jedis ("127.0.0.1",6379);//连接redis redis.auth(AUTH); //return (HashSet) redis.hvals(key); return (HashSet) redis.hkeys(key); } public List queryHashMapByVal(String key){ JedisShardInfo info = new JedisShardInfo("127.0.0.1",6379); Jedis redis = new Jedis (info);//连接redis redis.auth(AUTH); Set keys = (HashSet) redis.hkeys(key); Iterator<String> it = keys.iterator(); Long l = redis.hlen(key); Integer i = Integer.valueOf(l.toString()); String[] strw = new String[i]; int index = 0; while(it.hasNext()){ String obj1 = it.next(); strw[index] = obj1; index++; System.out.println("key="+obj1 +", value ="+ redis.hmget(key,obj1)); } return redis.hmget(key,strw); } public String queryString(String key){ Jedis redis = new Jedis ("127.0.0.1",6379);//连接redis redis.auth(AUTH); return redis.get(key); } //加入redis缓存 public void addString(String key,String value){ Jedis redis = new Jedis ("127.0.0.1",6379);//连接redis redis.auth(AUTH);//验证密码 redis.set(key, value); } public static void main(String[] args){ //try { Jedis rs = new Jedis ("127.0.0.1",6379);//连接redis rs.auth(AUTH);//验证密码 JedisDemo t1 = new JedisDemo(); //String t1.addString("key1","第一个值String类型的"); String value = t1.queryString("key1"); System.out.println("get key1 >>>" + value); //HashMap HashMap map = new HashMap(); for (int i = 0; i < 10000; i++) { //hashmap里的key如果存在就不继续保存到缓存中 if(!rs.hexists("hashmap","MapId"+i)){ map.put("MapId"+i, "MapValue"+i); }} if(!rs.exists("hashmap")){ t1.addHashMap("hashmap", map); } HashSet list = t1.queryHashMapByKey("hashmap"); List list2 = t1.queryHashMapByVal("hashmap"); //////////////////////////////////////////////////// //系统中所有key: Set<String> keys = rs.keys("*"); Iterator<String> it = keys.iterator(); while(it.hasNext()){ Object obj1 = it.next(); System.out.println(obj1); } rs.append("001", "一个");//和set方法一样都是调用了 sendCommand(...) rs.del("keyDel");//DEL 移除给定的一个或多个key。如果key不存在,则忽略该命令。 rs.set("keyExpire","一个有20s生命时间的key"); rs.expire("keyExpire",10);//expire 设置Key的过期时间(以秒[s]为单位) //TTL 返回给定key的剩余生存时间(time to live)(以秒为单位) //不设置生命周期 返回值为-1 ,key不存在返回值 -2 System.out.println("剩余生存时间"+rs.ttl("keyExpire")+"秒"); rs.persist("keyExpire");//PERSIST key 移除给定key的生存时间。 System.out.println(rs.ttl("keyExpire"));//移除生命周期后返回值为 -1 //EXISTS 检查给定key是否存在。 String ifKey = "keyExpire"; boolean flag = rs.exists(ifKey); //参数3 //NX 只有在不存的情况下才设置 key //XX 只有在已经存在的情况下才设置key //参数4 //过期时间单位:EX=秒;PX =毫秒 if(flag){ System.out.println("key:"+ifKey+" ,存在"); //key存在设置 rs.set(ifKey, ifKey+",这个key存在 设置他的值为此,生命周期20秒", "XX","EX",20); }else{ System.out.println("key:"+ifKey+" ,不存在"); //key不存在设置 rs.set(ifKey, ifKey+",这个key 不存在 设置他的值为此,生命周期15秒","NX","EX",15); } //} catch (Exception e) {//e.printStackTrace();//} } }
//调试等待不同时间可以观察key 生命周期时进行操作,生命周期外操作
阅读全文
0 0
- redis缓存(jedis), 链接,存,取,String,map,对象
- redis Jedis存取list对象和map
- redis jedis存储对象简单操作,map list 自定义对象
- 缓存之Redis--Jedis
- 缓存 Redis + Jedis
- redis操作string 、list 、map 对象
- 用Jedis操作redis缓存
- 使用jedis 链接redis数据库
- 使用jedis 链接redis数据库
- Jedis操作Redis--String类型
- Redis缓存系统(一)Java-Jedis操作Redis,基本操作以及 实现对象保存
- Redis缓存系统(1)Java-Jedis操作Redis,基本操作以及 实现对象保存
- java使用redis缓存(String,bean,list,map)
- redis存对象
- jedis 操作redis (java 缓存机制)
- SpringBoot 集成Jedis操作Redis缓存
- Jedis客户端操作redis缓存命令详解
- java project用jedis链接redis
- 最全和最形象的js排序算法合集
- 关于Windows和Linux文件盘符的不同的代码块
- CDN(内容分发网络)
- 利用python进行数据分析(四):数据加载、存储
- 简单工厂模式——接口使用
- redis缓存(jedis), 链接,存,取,String,map,对象
- Chatbot
- android 使用.equals()方法的时候规避错误
- HDU 2087 剪花布条(kmp模板)
- ActiveMQ中Consumer特性详解与优化
- 单例模式
- 酒店之王
- 关于int,string,char之间转换
- mysql 子查询