Jedis基本操作

Jedis库提供了对Redis数据库的丰富操作,包括但不限于基本的CRUD操作、事务、管道、发布订阅、哈希、列表、集合、有序集合操作等。由于篇幅限制,我将介绍一些最常用的方法,并为每个方法提供示例说明。

Jedis连接和基础操作

连接Redis
java 复制代码
Jedis jedis = new Jedis("localhost", 6379); // 连接本地的Redis
断开连接
java 复制代码
jedis.disconnect(); // 断开连接
检查连接
java 复制代码
boolean connected = jedis.isConnected(); // 检查是否连接
基本的CRUD操作
  • 设置键值对

    java 复制代码
    jedis.set("key", "value"); // 设置字符串键值对
  • 获取键的值

    java 复制代码
    String value = jedis.get("key"); // 获取键的值
  • 检查键是否存在

    java 复制代码
    boolean exists = jedis.exists("key"); // 检查键是否存在
  • 删除键

    java 复制代码
    long deleted = jedis.del("key"); // 删除键

哈希操作

  • 设置哈希字段

    java 复制代码
    jedis.hset("hash", "field", "value"); // 在哈希中设置字段
  • 获取哈希字段的值

    java 复制代码
    String fieldVal = jedis.hget("hash", "field"); // 获取哈希字段的值

列表操作

  • 添加列表元素

    java 复制代码
    jedis.rpush("list", "value"); // 在列表尾部添加元素
  • 获取列表元素

    java 复制代码
    List<String> values = jedis.lrange("list", 0, -1); // 获取列表所有元素

集合操作

  • 添加集合元素

    java 复制代码
    jedis.sadd("set", "value"); // 向集合添加元素
  • 获取集合所有成员

    java 复制代码
    Set<String> members = jedis.smembers("set"); // 获取集合所有成员

有序集合操作

  • 添加有序集合元素

    java 复制代码
    jedis.zadd("zset", 1, "value"); // 向有序集合添加元素,1是分数
  • 获取有序集合元素

    java 复制代码
    Set<String> zmembers = jedis.zrange("zset", 0, -1); // 获取有序集合所有元素

事务

java 复制代码
jedis.multi(); // 开启事务
jedis.set("key", "value");
jedis.get("key");
List<Object> results = jedis.exec(); // 执行事务

管道

java 复制代码
jedis.pipeline(); // 开启管道
jedis.set("key", "value");
jedis.get("key");
List<Object> results = jedis.syncAndReturnAllResults(); // 执行管道并获取结果

发布订阅

  • 发布消息

    java 复制代码
    Long count = jedis.publish("channel", "message"); // 发布消息到频道
  • 订阅频道

    java 复制代码
    jedis.subscribe(new JedisPubSub() {
        @Override
        public void onMessage(String channel, String message) {
            System.out.println("Received message: " + message);
        }
    }, "channel"); // 订阅频道接收消息

脚本

java 复制代码
String script = "return redis.call('set', KEYS[1], ARGV[1])";
List<String> keys = Arrays.asList("key");
List<String> args = Arrays.asList("value");
Object result = jedis.eval(script, keys, args); // 执行Lua脚本

监控和调试

  • 慢查询日志

    java 复制代码
    List<byte[]> slowLog = jedis.slowlogGet(10); // 获取慢查询日志
  • 内存信息

    java 复制代码
    String memoryInfo = jedis.info("memory"); // 获取内存相关信息

集群和高可用性

  • 集群节点信息

    java 复制代码
    Map<String, JedisClusterNode> nodes = jedis.clusterNodes(); // 获取集群节点信息

安全和权限

  • 设置用户

    java 复制代码
    jedis.aclSetUser("user", "on", "+@all"); // 设置用户权限

高级特性

  • 位操作

    java 复制代码
    long bits = jedis.bitcount("key"); // 计算键中设置的位的数量

总结

Jedis库提供了非常丰富的API来操作Redis,上述只是其中一部分常用方法的示例。由于篇幅限制,不可能覆盖所有方法,但这些示例应该能帮助你理解Jedis的基本用法和能力。对于更详细的信息和高级特性,建议查阅Jedis官方文档Redis命令参考

相关推荐
羊小猪~~13 分钟前
【QT】-- 模型与视图简介
开发语言·数据库·c++·后端·qt·前端框架·个人开发
叶微信15 分钟前
Qt相关面试题
开发语言·qt
种时光的人15 分钟前
Java+AI 无缝衔接:Spring AI 聊天模型入门到精通
java·人工智能·spring·ai·spring ai
淼淼爱喝水19 分钟前
OpenEuler 系统下 Ansible 环境部署与连通性测试完整步骤
linux·开发语言·php·openeuler
Memory_荒年24 分钟前
Dubbo面试通关秘籍:从“小白”到“源码大神”的终极指南
java·后端·dubbo
wechatbot88829 分钟前
【企业通信】基于IPAD协议的企业微信群聊管理API:群操作功能接口设计与实现
java·ios·微信·企业微信·ipad
七夜zippoe30 分钟前
OpenClaw 多渠道统一管理:构建全平台智能消息中枢
开发语言·microsoft·github·多渠道·openclaw
Java水解36 分钟前
阿里国际Java社招面经分享(附赠阿里Java面试题)
java·后端·面试
froginwe1138 分钟前
HTML 表单
开发语言
AmyLin_200139 分钟前
【pdf2md-3:实现揭秘】福昕PDF SDK Python 开发实战:从逐字符提取到 LR 版面分析
开发语言·python·pdf·sdk·markdown·pdf2md