Redis系统学习之Java操作RedisAPI(Jedis)

基础API之Jedis

  • 采用Java操作Redis的客户端,其实就是Jar包
  • 官方推荐使用的

创建项目

  • new Project
  • image.png
  • image.png
  • image.png
  • 创建完空项目后,会让添加模块
  • image.png
  • image.png
  • 创建一个MAVEN项目
  • image.png
  • image.png
  • image.png
  • 如果JDK没有的话选择一下就好了
  • image.png
  • 默认是没有的,我是选择过了的
  • 最后点击右下角的OK,项目创建完成
  • image.png

导入Maven依赖

<!--        redis jedis客户端jar-->
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.2.0</version>
        </dependency>
<!--        fastJson-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.73</version>
        </dependency>

开放端口(Centos7)

[root@localhost bin]# firewall-cmd --zone=public --add-port=6379/tcp --permanent
success
[root@localhost bin]# firewall-cmd --reload
success
[root@localhost bin]#

编码测试

  • 在JAVA文件夹下创建
  • image.png
  • 暂时不调用远程的Redis,在本地启动一台Windows的,操作参考Redis安装windows安装
  • image.png
  • TestPing.java
package com.dance.test;

import redis.clients.jedis.Jedis;

public class TestPing {
    public static void main(String[] args) {
        // 创建连接
        Jedis jedis = new Jedis("localhost",6379);
        // 如果需要密码 采用auth方法认证
//        jedis.auth("密码");
        System.out.println(jedis.ping());
        jedis.close();

    }
}

执行结果
PONG

Process finished with exit code 0

常用的API的话,和上面直接在Redis中执行的命令差不多,会有提示,并且在使用的时候可以百度一下

String

jedis.flushDB();// 清空选中的库
jedis.flushAll();// 清空全部库
jedis.set("username","xiaojiejie");// 添加字符串
jedis.get("username");// 获取字符串
jedis.keys("*");// 获取全部key
jedis.setex("user",10,"zhangsan");// 设置10秒过期
jedis.append("user","lisi");// 追加
jedis.set("number","1");
jedis.incr("number");//累加
jedis.decr("number");//累减
jedis.incrBy("number",5);// 设置步长
jedis.decrBy("number",5);//设置步长
jedis.setnx("sync","sync");//不存在再设置
jedis.mset("age","18","notlove","葱花香菜");// 设置多个值
jedis.mget("age","notlove");// 获取多个值
jedis.strlen("number");//获取长度
jedis.substr("user",0,1);// 截取字符串
jedis.setrange("user",1,"kele");// 替换字符串

List

jedis.lpush("list","k1","k2");// 左边添加元素
jedis.rpush("list","k3","k4");// 右边添加元素
jedis.lrange("list",0,-1);// 获取全部值
jedis.lpop("list");//移除并返回左边第一个元素
jedis.rpop("list");//移除并返回右边第一个元素
jedis.lindex("list",1);//根据下标获取元素
jedis.llen("list");//获取集合元素长度
jedis.lrem("list",1,"k1");// 移除一个值为k1的元素 因为存在重复可以移除多个
jedis.ltrim("list",0,1);// 截取元素,抛弃其他的
jedis.rpoplpush("list","list1");//从list右边移除一个添加到list1的左边
jedis.lset("list",3,"sss");//将索引3的位置的值设置为sss
jedis.linsert("list", ListPosition.AFTER,"k1","kk");//在k1后面插入kk
jedis.del("list");// 删除指定的Key

Set Hash Zset Geo hyperLoglog bitmaps都差不多 就不全写了

事物(这个还是写一下吧,这个因为是调用返回值的)

jedis.unwatch();// 取消监视
jedis.watch("key");// 监视key
Transaction multi = jedis.multi(); // 开启事物
multi.set("k1","k2");// 命令入队
multi.lpush("list2","llll");// 命令入队
multi.get("list");// 命令入队
multi.exec();//提交事物
multi.discard();// 取消事物

作者:彼岸舞

时间:202155

内容关于:Redis

本文属于作者原创,未经允许,禁止转发

原文地址:https://www.cnblogs.com/flower-dance/p/14731133.html