redis缓存(jedis), 链接,存,取,String,map,对象
windwos端修改
redis.windows.conf 文件 配置访问ip 和 端口 和 auth
端口 port 6379
密码 requirepass 123456
cmd cd 到解压目录 执行 redis-server.exe redis.windows.conf 如果不指定配置文件,设置项重新启动后失效
启动成功
若报错
[2368] 21 Apr 02:57:05.611 # Creating Server TCP listening socket 127.0.0.1:6379: bind: No error
解决方法:在命令行中运行
redis-cli.exe
127.0.0.1:6379>shutdown
not connected>exit
然后重新运行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不存在返回值 -2System.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 生命周期时进行操作,生命周期外操作
redis缓存(jedis), 链接,存,取,String,map,对象相关推荐
- SpringBoot整合Redis缓存
SpringBoot整合Redis缓存 一.缓存概念知识 1.是什么缓存 2.缓存的优缺点 3.为什么使用缓存 二.Redis概念知识 1.Redis简介 2.为什么用Redis作为缓存 3.Redi ...
- Redis缓存预热、缓存穿透、缓存击穿、缓存雪崩,Redis布隆过滤器怎么实现?
目录 一.缓存预热 1.缓存预热常见步骤 2.代码实现 二.缓存雪崩 1.什么情况会发生缓存雪崩? 2.Redis缓存集群实现高可用 3.如何避免Redis缓存雪崩? 三.缓存穿透 1.什么情况会发生 ...
- Docker中搭建redis分片集群,搭建redis哨兵结构,实现springboot中对redis分片集群、哨兵结构的访问,Redis缓存雪崩、缓存击穿处理(非关系型数据库技术课程 第十二周)
文章目录 一.要求: 二.知识总结 缓存雪崩 解决方案 docker中redis分片集群搭建 配置好配置文件 redis-6380.conf redis-6381.conf redis-6382.co ...
- MySQL建表添加乐观锁字段_Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化...
Java秒杀系统优化-Redis缓存-分布式session-RabbitMQ异步下单-页面静态化 项目介绍 基于SpringBoot+Mybatis搭建的秒杀系统,并且针对高并发场景进行了优化,保证线 ...
- 将数据写入到redis缓存/取出/删除 消息队列
将数据写入到redis缓存,写入 取出 删除 Redis的安装及开启服务就不在这章多讲,直接上写入缓存,从缓存中取出数据,取出成功后在删除缓存. 1::添加Redis组件包 1:写入缓存 //1获取R ...
- Redis客户端之Jedis(Key、String、Set、List、pub/sub、cluster、pool、pipleline)
原文链接:http://blog.csdn.net/xyang81/article/details/51918129 环境: OS:CentOS7 64位 server版本:Redis 3.2.0 c ...
- java dataset redis,利用Spring-Data-Redis和Jedis操作Redis缓存
概述 Jedis是redis官方推荐的用于访问Java客户端,在https://github.com/xetorthio/jedis下载最新的jedis. 访问redis 1.访问简 ...
- Lettuce替换Jedis操作Redis缓存
Redis介绍及Mencached对比 Redis全称是远程字典服务,是一个Key-Value的存储系统,相比于很早之前一直使用的mencached,不单单提供了更多的类型支持. 数据类型上:menc ...
- 【Java从0到架构师】Redis 应用 - Jedis 基本使用、使用缓存的用户登陆、缓存常见问题
Redis 原理与实战 Jedis 基本使用 Jedis 连接 Redis 服务器 Jedis 使用 pipeline Jedis 发布订阅 Jedis 使用 bitmap Jedis 使用 Hype ...
最新文章
- zookeeper - watcher(9)
- 两者相差百分比怎么算_不知道烘焙百分比的全拖出来打屁股!
- 13.while循环
- 知识点:Mysql 索引原理完全手册(1)
- KlayGE中的延迟渲染(三)
- 【英语学习】【Level 08】U03 My Choice L4 The coolest movie character
- PAT 1088 三人行(20 分)- 乙级
- 百度中文依存句法分析工具DDParser重磅开源
- java date sethours,如何替换不推荐使用的方法Date.setHours(int)?
- 【心电信号】基于matlab NLM时间序列心电信号去噪【含Matlab源码 1547期】
- kill mysql 进程_如何快速处理mysql连接数占满的问题?
- ELMAN神经网络分类和预测MATLAB程序,采用红酒数据集分类
- 切换linux默认桌面,Debian默认桌面再次切换到Gnome
- 物理定律告诉你:表白可能巨亏,分手一定血赚
- Flutter安装后出现HTTP host not reachable.
- 【装机知识】机箱知识整理
- 惠州学院计算机学院院长,惠州学院计算机科学与工程学院院领导一行来我院参观交流...
- 【VHDL】随机存储器RAM、只读存储器ROM
- MAC无法挂载移动硬盘
- 痛惜!年仅43岁,又一位985高校博导因病逝世
热门文章
- html输入支付密码样式,基于JS实现类似支付宝支付密码输入框
- 吴恩达ex3_Wu-Enda机器学习编程作业Python实现EX3,吴恩达,machinelearning,python,ex3nn
- mysql将查询数据另存
- [转载] Java ArrayList toArray(T[] a) 解惑
- 字符串矩阵转换成长字符串_字符串矩阵
- Java DataInputStream readBoolean()方法(带示例)
- python爬取酷狗音乐top500_python获取酷狗音乐top500的下载地址 MP3格式
- 乐高泰坦机器人视频解说_“安防”机器人将亮相服贸会
- 清空文件下的SVN控制文件
- 单行 - JAVA 条件表达式