我们要使用java来操作redis

什么是Jedis?

什么是Jedis 是Redis官方推荐的java连接开发工具!使用Java操作Redis 中间件!(就是一个jar包)如果你要使用java操作redis,那么一定要对Jedis十分的熟悉!

测试

1、导入对应的依赖

        <!-- 导入jedis的包 --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.2.2</version></dependency><!-- fastjson--><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.50</version></dependency>

2、编码测试

  • 连接redis数据库
  • 操作命令
  • 断开连接!
public class TestPing {public static void main(String[] args) {//1、new Jedis对象即可Jedis jedis = new Jedis("127.0.0.1",6379);//Jedis所有的命令就是我们之前学习的指令!System.out.println(jedis.ping());;}
}

输出:说明连接成功

PONG

jedis所有方法和redis里的所有命令一模一样,没有任何改变,在redis上能操作的,使用jedis同样可以操作

String


执行结果:

string的其他方法:

list


执行结果:

set



执行结果:

hash


执行结果:

zset

也是一样,在linux上执行的命令就是jedis的方法

所有的api命令,就是我们学习的指令,一一对应,一个都没有变化!

事务

1、在java中使用redis的事务:

package com.uno;import com.alibaba.fastjson.JSONObject;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Transaction;public class TestTx {public static void main(String[] args) {Jedis jedis = new Jedis("127.0.0.1", 6379);JSONObject jsonObject = new JSONObject();jsonObject.put("hello","world");jsonObject.put("name", "UNO");String result = jsonObject.toJSONString();//1、开启事务Transaction multi = jedis.multi();//jedis.watch(result);  //加乐观锁,监视try {//2、命令入队multi.set("user1", result);multi.set("user2",result);//3、执行,这三个步骤也都是和linux中操作redis命令一模一样multi.exec();} catch (Exception e) {//当出现错误,放弃事务multi.discard();throw new RuntimeException(e);} finally {System.out.println(jedis.get("user1"));System.out.println(jedis.get("user2"));//关闭连接jedis.close();}}
}

执行结果:成功

{"name":"UNO","hello":"world"}
{"name":"UNO","hello":"world"}

2、如果出现错误:

package com.uno;import com.alibaba.fastjson.JSONObject;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Transaction;public class TestTx {public static void main(String[] args) {Jedis jedis = new Jedis("127.0.0.1", 6379);jedis.flushDB(); //先清理一下数据库,免得被上面的代码在redis设置的值影响JSONObject jsonObject = new JSONObject();jsonObject.put("hello","world");jsonObject.put("name", "UNO");String result = jsonObject.toJSONString();//1、开启事务Transaction multi = jedis.multi();
//        jedis.watch(result);  //加乐观锁,监视try {//2、命令入队multi.set("user1", result);multi.set("user2",result);int i = 1/0;  //手动设置一个运行时异常,看是不是会出现运行时异常,然后被catch捕获//3、执行,这三个步骤也都是和linux中操作redis命令一模一样multi.exec();} catch (Exception e) {//放弃事务multi.discard();throw new RuntimeException(e);} finally {System.out.println(jedis.get("user1"));System.out.println(jedis.get("user2"));//关闭连接jedis.close();}}
}

执行结果:出现运行时异常,被catch捕获,在catch中放弃事务,就是都不执行

null
null
Exception in thread "main" java.lang.RuntimeException: java.lang.ArithmeticException: / by zeroat com.uno.TestTx.main(TestTx.java:28)
Caused by: java.lang.ArithmeticException: / by zeroat com.uno.TestTx.main(TestTx.java:22)

注意事项:jedis连不上远程服务器

注意jedis连接不上远程服务器:
用Jedis连接阿里云等服务器上的redis
一. 配置redis.conf1.设置访问redis的密码:requirepass 要设置密码2.注释bind 127.0.0.1(重启redis-server服务,进入redis后要先验证密码,用这个命令:auth 密码 ,然后ping一下看有没有配置成功)
二 . idea访问时添加auth密码Jedis jedis = new Jedis("服务器的外网ip",6379);jedis.auth("redis的密码");System.out.println(jedis.ping());
(输出PONG的话就成功了)

题外话:为什么事务transaction简称为TX

transaction的读法是/træn’zækʃən/

x的读法是/ɛks/

所以tx分别代表:t - tran; x-saction

Jedis的了解和使用、Jedis使用Redis事务相关推荐

  1. jedis操作set_Java中使用Jedis操作Redis的示例代码

    使用java操作Redis需要jedis-2.1.0.jar,下载地址:jedis-2.1.0.jar 如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:c ...

  2. java jedis使用_Java中使用Jedis操作Redis

    Java中使用Jedis操作Redis 使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0 ...

  3. Redis基本使用|基本命令|redis事务|Jedis|持久化|订阅|集群|

    文章目录 Redis ! 一.概述 二.安装 三.实操 1.性能测试 2.基础知识 3.基本key命令 4.基本数据类型 1.String 2.List 3.Set 4.Hash 5.Zset 5.特 ...

  4. Jedis+JedisPool+JedisPoolConfig:完美“掌控“Redis

    目录 一.背景介绍 二.Redis相关 2.1 Redis基本概念 2.2 Redis下载安装 2.3 启动Redis服务(Windows本地) 2.4 启动Redis客户端(Windows本地) 2 ...

  5. jedis set集合 java,使用Jedis操作String、List、Set、Map等常见数据 | zifangsky的个人博客...

    Jedis属于Java连接Redis的一种客户端.其操作方式跟原生的redis客户端命令类似.关于redis操作的基本命令可以参考这个文档:http://www.runoob.com/redis/re ...

  6. jedis使用_Redis --Java客户端 Jedis

    Redis --Java客户端 Jedis 博客说明 文章所涉及的资料来自互联网整理和个人总结,意在于个人学习和经验汇总,如有什么地方侵权,请联系本人删除,谢谢! 简介 Jedis: 一款java操作 ...

  7. 图解Redis事务机制

    来自:Java中文社群 作为关系型数据库中一项非常重要的基础功能--事务,在 Redis 中是如何处理并使用的? 1.前言 事务指的是提供一种将多个命令打包,一次性按顺序地执行的机制,并且保证服务器只 ...

  8. Redis:事务、管道、Lua脚本

    1. Redis事务定义 Redis中的事务(transaction)是一组命令的集合.事务同命令一样都是Redis的最小执行单位,一个事务中的命令要么都执行,要么都不执行. 事务的原理是先将属于一个 ...

  9. redis事务原理,使用,详解

    声明:本博客内容来自<Redis深度历险>一书        为了确保连续多个操作的原子性,一个成熟的数据库通常都会有事务支持,Redis 也不例外.Redis 的事务使用非常简单,不同于 ...

最新文章

  1. 零基础参加java培训哪家机构好
  2. 张芯译老师 实战销售管理专家
  3. 专题 12 IPC之消息队列
  4. HTML5地区自转代码
  5. 对11位手机号进行3-4-4格式化
  6. 热传递物理模型matlab,简单传热学计算机分析MatlabPDE二维不稳态焊接热传导求解.PPT...
  7. 苹果鼓励美国员工赴中国出差 一天500美元奖金
  8. IOS 学习笔记(3) 视图UITabbarController
  9. css12个技巧,12个CSS高级技巧汇总
  10. 常用的3dsmax插件(批处理模型的插件)
  11. Java数组的三种打印方式
  12. 密西根州立大学计算机qs分数,密歇根州立大学2021年QS世界大学排名第157
  13. 神器 | 百度云资源搜索
  14. Windows 去除桌面烦人的小箭头
  15. uni-app获取设备序列号SERIAL
  16. 史上最全数据集网站汇总
  17. ubuntu源换成清华源_Ubuntu替换国内源(清华源)
  18. 阿里云账号如何个人实名?
  19. vuetify图标大全
  20. 有用AI应用网站【​All Things AI: https://allthingsai.com/​】

热门文章

  1. linux 上安装ffmpeg
  2. 2018秋招历程之716所
  3. 为什么铺天盖地都是 Python 的广告?网友:不值得!
  4. 数据结构与算法C语言版—绪论
  5. mysql 设置日期时间格式_MySQL:更改列类型和日期时间格式
  6. HTTP响应头和请求头信息对照表
  7. 有关《口袋妖怪GO》的六个基本事实
  8. 第八课:不一样的链表 linux链表设计哲学 5星级教程
  9. 【转】不要用海量表项压垮技能流程
  10. Bill Gates的博物馆