Jedis连接redis客户端
1 单点的redis利用jedis客户端连接
如何连接
//1 利用jedis连接对象操作redis
@Test
public void test01(){
//构造一个具有连接信息的jedis对象
//确定虚拟机linux系统的端口是开放的? 防火墙
Jedis jedis=new Jedis("192.168.60.131", 6379);
jedis.set("name", "hanlaoshi");
jedis.expire("name", 60);
}
模拟缓存逻辑在系统中执行步骤
//2 利用打桩语句,模拟缓存的使用和数据库的调用
@Test
public void test02(){
//查询商品为例,id=1的一个商品
String id="1";
System.out.println("用户访问http://www.jt.com/product/"+id);
//1 利用用户请求参数,生成当前业务逻辑的唯一key值 exists
//企业中的key值一般都是前缀,后缀 拼接id完成的
String key="product_"+id;
Jedis jedis=new Jedis("192.168.60.131", 6379);
if(jedis.exists(key)){//有的话返回true,没有返回false
//如果有数据,需要从redis中获取value,打印返回
String value=jedis.get(key);
System.out.println("从缓存获取value:"+value);
}else{//缓存没有数据
System.out.println("缓存无数据,数据从数据库获取");
//假设从数据库获取的数据
String value="id=1&productName=haha";
System.out.println("数据获取,value:"+value);
//返回之前,存在redis,供后续使用
jedis.set(key, value);
System.out.println("数据跟随响应返回");
}
}
hash取余的数据分片计算逻辑
key值是一个取值范围非常大的内存值;
hash取余公式 (key.hashCode()&Integer.MAX_VALUE)%N
N是数据分片节点的数量(3) [0,1,2] 取值结果=0的存储到6379=1的存储到6380,=2存储到6381
1 @Test
2 public void test04(){
3 Jedis jedis1=new Jedis("192.168.60.131", 6379);
4 Jedis jedis2=new Jedis("192.168.60.131", 6380);
5 Jedis jedis3=new Jedis("192.168.60.131", 6381);
6 for(int i=0;i<5000;i++){
7 String key="product_"+i;
8 String value="value_"+i;
9 //计算取余结果,同一个key总会得到一个相同的取余结果
10 int result=(key.hashCode()&Integer.MAX_VALUE)%3;
11 if(result==0){jedis1.set(key, value);}
12 if(result==1){jedis2.set(key, value);}
13 if(result==2){jedis3.set(key, value);}
14 }
15 }
Jedis连接redis客户端的更多相关文章
- 通过jedis连接redis单机成功,使用redis客户端可以连接集群,但使用JedisCluster连接redis集群一直报Could not get a resource from the pool
一,问题描述: (如题目)通过jedis连接redis单机成功,使用JedisCluster连接redis集群一直报Could not get a resource from the pool 但是使 ...
- 用Jedis连接Redis
jedis中的方法名,和Redis的命令几乎一样 1.jar包,作为测试只需要一个jar 2.代码 package com; import java.util.HashMap; import java ...
- jedis 连接 redis
一.连接单机版的 redis /** * 直接连接 redis * @throws Exception */ @Test public void test1() throws Exception { ...
- 20190928-02使用Redis客户端Jedis连接Redis,以及用Java代码操作Redis 000 030
启动redis package com.yujie.jedis; import java.util.HashMap; import java.util.Map; import java.util.Se ...
- 关于Jedis连接redis出现问题
环境说明: redis服务器系统:ubuntu ip 192.168.10.9 port 6379 两台电脑:一个作为专门的服务器,一个是开发环境,以下一顿操作皆基于开发环境. 就这样的简单的代码连接 ...
- Java 使用Jedis连接Redis数据库(-)
redis 安装: Linux 安装redis 1)下载jar包: 使用Jedis需要以下两个jar包: jedis-2.8.0.jar commons-pool2-2.4.2.jar 2)测试red ...
- Jedis连接Redis三种模式
这里说的三种工作模式是指: 1.单机模式 2.分片模式 3.集群模式(since 3.0) 说明图详见以下: 使用单机模式连接: private String addr="192.168.1 ...
- Jedis连接redis
今天与大家分享下,Jedis连接池使用.先看一段JAVA 代码: JedisPoolConfig config = new JedisPoolConfig(); con ...
- springboot 使用 jedis 连接 Redis 数据库
1. 在 pom.xml 配置文件中添加依赖 <!-- redis 依赖 --> <dependency> <groupId>org.springframework ...
随机推荐
- Windows Composition API 指南 - 认识 Composition API
微软在 Windows 10中 面向通用 Windows 应用 (Universal Windows Apps, UWA) 新引入了一套用于用户界面合成的 API:Composition API.Co ...
- 初学Hadoop之中文词频统计
1.安装eclipse 准备 eclipse-dsl-luna-SR2-linux-gtk-x86_64.tar.gz 安装 1.解压文件. 2.创建图标. ln -s /opt/eclipse/ec ...
- Nginx反向代理与负载均衡[转]
nginx启动和关闭(centos平台) /usr/local/nginx/sbin/nginx #启动 /usr/local/nginx/sbin/nginx -s reload #平滑启动 vi ...
- Java transient和volatile关键字
关键字Volatile Volatile修饰的成员变量在每次被线程访问时,都强迫从主内存中重读该成员变量的值.而且,当成员变量发生变化时,强迫线程将变化值回写到主内存.这样在任何时刻,两个不同的线程总 ...
- 【数据库】9.0 MySQL入门学习(九)——获得数据库和表的信息、日期计算、查询、选择特殊列
1.0 SELECT语句用来从数据表中检索信息. SELECT what_to_select FROM which_table WHERE conditions_to_satisfy; what_to ...
- JavaScript数组常见操作
JavaScript数组常见操作 Tip: 右键在新标签中打开查看清晰大图 下面介绍JavaScript中的数组对象遍历.读写.排序等操作以及与数组相关的字符串处理操作 创建数组 一般使用数组字面量[ ...
- javascript12个你必须掌握的技能
网站建设的时候,作为码农,总喜欢写一些高效且省事的代码,这里,dbestech为你提供关于JavaScript的使用技巧点. 1. 空(null, undefined)验证 当我们创建了一个新的变量, ...
- python memory-management
http://deeplearning.net/software/theano/tutorial/python-memory-management.html
- java面试题之----mysql表优化方案
本文转载自segmentfault,原文链接:https://segmentfault.com/a/1190000006158186. 当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考 ...
- Flask入门 表单Flask-wtf form原生 Bootstrap渲染(七)
(1) 原生的表单 模板页面,form表单form.html <form action="{{ url_for('/check/') }}" method='post'> ...