java操作redis

java操作Redis

*

+ 1 环境准备
+
* 1.1. 引入依赖
* 1.2.创建jedis对象
* 1.3.事务
+ 2 操作key相关API
+ 3操作String相关API
+ 4操作List相关API
+ 5操作Set的相关API
+ 6 操作ZSet相关API
+ 7 操作Hash相关API

使用Java来操作Redis,Jedis是Redis官方推荐使用的Java连接redis的客户端。

1 环境准备

1.1. 引入依赖

<dependency>
    <groupId>redis.clientsgroupId>
    <artifactId>jedisartifactId>
    <version>3.2.0version>
dependency>

<dependency>
    <groupId>com.alibabagroupId>
    <artifactId>fastjsonartifactId>
    <version>1.2.70version>
dependency>
1.2.创建jedis对象
 public static void main(String[] args) {

   Jedis jedis = new Jedis("192.168.75.101", 6379);
   jedis.select(0);

   jedis.close();
 }
  1. 开放端口6379
firewall-cmd --zone=public --add-port=6379/tcp --permanet
1

重启防火墙服务

systemctl restart firewalld.service
  1. 阿里云服务器控制台配置安全组
  2. 重启redis-server
[root@AlibabaECS bin]
  • 操作命令 TestPing.java
public class TestPing {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("192.168.xx.xxx", 6379);
        String response = jedis.ping();
        System.out.println(response);
    }
}
  • 断开连接
1.3.事务
public class TestTX {
    public static void main(String[] args) {
        Jedis jedis = new Jedis("198.168.xxx.xx", 6379);

        JSONObject jsonObject = new JSONObject();
        jsonObject.put("hello", "world");
        jsonObject.put("name", "kuangshen");

        Transaction multi = jedis.multi();
        String result = jsonObject.toJSONString();

        try {
            multi.set("user1", result);
            multi.set("user2", result);

            multi.exec();
        }catch (Exception e){

            multi.discard();
        } finally {

            System.out.println(jedis.get("user1"));
            System.out.println(jedis.get("user2"));
            jedis.close();
        }
    }
}

2 操作key相关API

private Jedis jedis;
    @Before
    public void before(){
        this.jedis = new Jedis("192.168.XXX.XXX", 7000);
    }
    @After
    public void after(){
        jedis.close();
    }

    @Test
    public void testKeys(){

        jedis.del("name");

        jedis.del("name","age");

        Boolean name = jedis.exists("name");
        System.out.println(name);

        Long age = jedis.expire("age", 100);
        System.out.println(age);

        Long age1 = jedis.ttl("newage");
        System.out.println(age1);

        String s = jedis.randomKey();

        jedis.rename("age","newage");

        String name1 = jedis.type("name");
        System.out.println(name1);
        String maps = jedis.type("maps");
        System.out.println(maps);
    }

3操作String相关API


    @Test
    public void testString(){

        jedis.set("name","秦羽");

        String s = jedis.get("name");
        System.out.println(s);

        jedis.mset("content","tj","address","xqq");

        List<String> mget = jedis.mget("name", "content", "address");
        mget.forEach(v-> System.out.println("v = " + v));

        String set = jedis.getSet("name", "小明");
        System.out.println(set);

    }

4操作List相关API


    @Test
    public void testList(){

        jedis.lpush("names1","张三","王五","赵柳","win7");

        jedis.rpush("names1","xiaomingming");

        List<String> names1 = jedis.lrange("names1", 0, -1);
        names1.forEach(name-> System.out.println("name = " + name));

        String names11 = jedis.lpop("names1");
        System.out.println(names11);

        jedis.linsert("lists", BinaryClient.LIST_POSITION.BEFORE,"xiaohei","xiaobai");

    }

5操作Set的相关API


@Test
public void testSet(){

  jedis.sadd("names","zhangsan","lisi");

  jedis.smembers("names");

  jedis.sismember("names","qinyu");

}

6 操作ZSet相关API


@Test
public void testZset(){

  jedis.zadd("names",10,"张三");

  jedis.zrange("names",0,-1);

  jedis.zcard("names");

  jedis.zrangeByScore("names","0","100",0,5);

}

7 操作Hash相关API


@Test
public void testHash(){

  jedis.hset("maps","name","zhangsan");

  jedis.hget("maps","name");

  jedis.hgetAll("mps");

  jedis.hkeys("maps");

  jedis.hvals("maps");

}

Original: https://blog.csdn.net/qq_43585922/article/details/128266627
Author: 秦 羽
Title: java操作redis

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/785489/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • scrapy基础(中间件)

    中间件/管道的使用都先要在setting里启动代理操作必须使用中间件才能实现: process_exception(): request.meta[‘proxy’] = ‘http…

    Python 2023年10月7日
    044
  • 图像滤波简介

    文章目录 1. 图像滤波 2. 图像滤波的常用方法 * 2.1 均值滤波 2.2 方框滤波 2.3 高斯滤波 2.4 中值滤波 2.5 双边滤波 2.6 低通滤波 2.7 高通滤波…

    Python 2023年9月26日
    049
  • Django 页面跳转

    超链接的href属性不能直接是另一个模板的名称,而是要通过如下步骤1、创建视图函数,视图函数中,渲染要跳转到的页面,如 def get_detail(request):return…

    Python 2023年8月3日
    065
  • Spark SQL(二):DataFrame APIs

    文章目录 一.主要DataFrame APIs 二.部分DataFrame APIs * 1.DataFrame.agg 2.DataFrame.alias 3.DataFrame…

    Python 2023年8月20日
    075
  • pytest自动化测试框架02

    Pytest框架实现一些前后置(固件,夹具)的处理,常见三种 一、setup/teardown,setup_class/teardown_class 为什么需要这些功能? 比如:w…

    Python 2023年9月10日
    038
  • FastAPI 快速上手,FastAPI程序模版

    FastAPI快速上手 本文主要是分享如何快速上手fastAPI,如果读者已经有flask sanic django等框架的使用经验,那么本文应该没有太大的阅读难度。官方文档,本文…

    Python 2023年8月13日
    058
  • [美化] 博客园美化历程

    标题上写着美化,但怎么看自己的界面,仿佛每条线都在呐喊着:”实际上是简化吧!” /扶额 在入驻博客园的一周时间里,我使用各种课上时间抽空研究了一下博客园的页…

    Python 2023年6月6日
    073
  • 我個人喜歡的一些Ubuntu的相關配置

    注意: 必须加上sudo,否则你是没有权限编辑vimrc的。在这个文件中可以看到有下面这个if判断,意思是语法高亮,如果是被注释掉状态,可以将其放开: if has(“…

    Python 2023年6月3日
    090
  • django后台管理系统

    django后台管理系统基本操作 Django配合python的使用可以说是非常友好帮助我们搭建后台管理,包括良好的展示界面。 打开Django的配置文件,这里写入我们的项目应用名…

    Python 2023年8月4日
    047
  • python 单元测试框架_Python单元测试框架pytest

    pytest帮你写出更好的程序 1、An example of a simple test:(一个简单的例子),命名为test_pytest1.py def funx(x): re…

    Python 2023年9月14日
    043
  • 总在用户态调试 C# 程序,终还是搭了一个内核态环境

    一:背景 一直在用 WinDbg 调试用户态程序,并没有用它调试过 &#x5185;&#x6838;&#x6001;,毕竟不是做驱动开发,也没有在分析 du…

    Python 2023年10月23日
    052
  • 用python做数据分析时使用pd.to_datetime函数时间戳从1970年开始的情况

    我做的是从阿里天池下载的淘宝用户行为分析的数据集的数据分析项目。 下面使用的是anaconda jupyter Notebook 编辑器 第一次处理数据的时候没有什么异常,但当我在…

    Python 2023年8月20日
    063
  • 工具推荐-根据IP地址精确定位经纬度(永久免费)

    今天小张由于业务需求,需要根据用户的访问ip精确定位用户的国家、城市、及经纬度等信息,从网上进行搜索,发现不少的网站,但几乎没有完全符合的,有个别符合的还需要花钱,大家也知道,现在…

    Python 2023年6月3日
    086
  • 基于用户评论情感分析详细设计与技术实现

    基于用户评论情感分析详细设计与技术实现 文章目录 基于用户评论情感分析详细设计与技术实现 前言 一、技术架构 二、分析服务器构建 * 1.1 创建flask项目 1.2 编写数据库…

    Python 2023年8月10日
    075
  • 设计了一个自动归档工具

    背景 随着业务的发展,一些事务类表(源源不断产生业务数据)会越来越大,最终演变成我们说的大表,普通的查询可能毫秒级、秒级返回,但是稍微复杂的就会超时,甚至占满数据库cpu,进而导致…

    Python 2023年10月20日
    047
  • 利用python在剪贴板上读取/写入数据

    读取剪贴板上的数据 先给大家介绍 pandas.read_clipboard,从剪贴板读取文本并传递到Read_csv。 pandas.read_clipboard(sep=’\\…

    Python 2023年8月18日
    066
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球