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 ...
随机推荐
- [转]微信小程序安全浅析
本文转自:http://blog.csdn.net/baize_security/article/details/54582854 引言 近期微信小程序重磅发布,在互联网界掀起不小的波澜,已有许多公司 ...
- 网站部署中遇到的问题-编译器错误信息: CS0016
问题描述: 访问站点出现错误win7 x64+iis7.5 配置错误:CS0016: 未能写入输出文件“c:\Windows\Microsoft.NET\Framework64\v4.0.30319\ ...
- Hadoop2.x伪分模式部署
hadoop伪分布模式,只有一个节点,通常用来做测试. 一.环境准备 Linux网络配置已完成,可参见CentOS7网络配置: yum源成功挂载,可参见CentOS7本地yum源挂载: Linux已安 ...
- struts2 :Unable to load configuration. ……struts-default.xml:46:178异常解决
这个问题是缺少jar包 除了ognl-2.6.11.jar,struts2-core-2.1.6.jar,xwork-2.1.2.jar,commons-logging-1.0.4.jar外, 还需要 ...
- 《本博客将搬至CSDN》 博客主QQ 654436731 有关于本博客任何文章的问题欢迎打扰
地址 http://blog.csdn.net/sajiazaici
- csharp: ClientScript.RegisterStartupScript int net4.0
//彈出提示 ClientScriptManager cs = Page.ClientScript; StringBuilder sb = new StringBuilder(); sb.Append ...
- 使用git版本管理工具
1.(1)正常提交:git add 提交文件 git init //git init之后建立一个.gitignore可以避免node_modules这类文件夹提交 git add . git co ...
- Angular选项卡
前几天我发的东西,可能对于没有基础的人很难理解,那么今天,咱们就发点简单点的东西吧! Angular显示隐藏,选项卡! 还是那句话,话不多说,上代码: <!DOCTYPE html> &l ...
- ArcGIS for Server使用AD中的用户配置
ArcGIS for Server使用AD中的用户配置 1.概述 默认情况下,ArcGIS Server使用内置存储模式来管理用户和角色.该模式使用基于文件格式来存储信息.当然,ArcGIS Serv ...
- CentOS安装QQ2012
QQ想必大家都会用,在windows系统下一般都是使用客户端软件,但是在linxu系统下就没有想windows那样的客户端了.下面就次啊用wine在CentOS中安装腾讯QQ2012.