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

jedis是java操作redis的客户端库,实际上是一个官方推荐使用的jar包。在本文中,我们将详细介绍如何使用jedis来创建和配置一个新的项目。

首先,创建一个新的项目:

在项目创建完成后,添加一个模块:

接下来,创建一个MAVEN项目:

如果没有配置JDK,选择合适的JDK版本:

完成上述步骤后,点击右下角的“OK”,项目创建完成:

接下来,导入Maven依赖:


    redis.clients
    jedis
    3.2.0


    com.alibaba
    fastjson
    1.2.73

在Centos7上开放Redis的端口:

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

接下来,在JAVA文件夹下创建一个测试文件:

我们暂时不调用远程的Redis,而是在本地启动一台Windows上的Redis,操作参考Redis安装Windows安装:

下面是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

常用的Jedis 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(); // 取消事物

作者:彼岸舞

时间:2025年05月05日

内容关于:Redis

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