java中使用jedis操作redis

Jedis简介

编程语言与redis

Java语言连接redis服务Jedis

在这里插入图片描述
Java语言连接redis服务

Jedis SpringData Redis Lettuce

C 、C++ 、C# 、Erlang、Lua 、Objective-C 、Perl 、PHP 、Python 、Ruby 、Scala

可视化连接redis客户端

Redis Desktop Manager
Redis Client
Redis Studio

下面只讲解jedis

jedis的HelloWorld

1、准备工作
jar包导入:
下载地址:https://mvnrepository.com/artifact/redis.clients/jedis

基于maven

<dependency>
 <groupId>redis.clients</groupId>
 <artifactId>jedis</artifactId>
 <version>2.9.0</version>
</dependency>

2、客户端连接redis
连接redis

Jedis jedis = new Jedis("localhost", 6379);

操作redis

jedis.set("name", "itheima");
jedis.get("name");

关闭redis连接

jedis.close();

API文档
http://xetorthio.github.io/jedis/

三、Jedis读写redis数据

案例:服务调用次数控制
人工智能领域的语义识别与自动对话将是未来服务业机器人应答呼叫体系中的重要技术,百度自研用户评
价语义识别服务,免费开放给企业试用,同时训练百度自己的模型。现对试用用户的使用行为进行限速,
限制每个用户每分钟最多发起10次调用
案例要求

① 设定A、B、C三个用户 ② A用户限制10次/分调用,B用户限制30次/分调用,C用户不限制

案例:需求分析

① 设定一个服务方法,用于模拟实际业务调用的服务,内部采用打印模拟调用
②在业务调用前服务调用控制单元,内部使用redis进行控制,参照之前的方案
③ 对调用超限使用异常进行控制,异常处理设定为打印提示信息
④主程序启动3个线程,分别表示3种不同用户的调用

实现步骤:

  1. 设定业务方法
void business(String id,long num){
 System.out.println("用户"+id+"发起业务调用,当前第"+num+"次");
}
  1. 设定多线类,模拟用户调用
public void run(){
 while(true){
 jd.service(id);
 //模拟调用间隔,设定为1.x秒
 try{
 Random r = new Random();
 Thread.sleep(1000+ r.nextInt(200));
 }catch (InterruptedException e){
 e.printStackTrace();;
 }
 }
 }
  1. 设计redis控制方案
void service(String id){
 Jedis jedis = new Jedis("localhost", 6379);
 String value = jedis.get("compid:" + id);
 //判定是否具有调用计数控制,利用异常进行控制处理
 if(value == null) {
 //没有控制,创建控制计数器
 jedis.setex("compid:" + id, 20, ""+(Long.MAX_VALUE-10));
 }else{
 //有控制,自增,并调用业务
 try{
 Long val = jedis.incr("compid:"+id);
 business(id,10+val-Long.MAX_VALUE);
 }catch (JedisDataException e){
 //调用次数溢出,弹出提示
 System.out.println("用户:"+id+"使用次数已达到上限,请稍后再试,或升级VIP会员");
 return;
 }finally{
 jedis.close();
 }
 } 
 }
  1. 设计启动主程序
public static void main(String[] args) {
 MyThread t1 = new MyThread("初级用户");
 t1.start();
}

后续1:对业务控制方案进行改造,设定不同用户等级的判定
后续2:将不同用户等级对应的信息、限制次数等设定到redis中,使用hash保存

四、可视化客户端

Redis Desktop Manager
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值