Redis在java中的使用

本文介绍如何在Java环境中使用Redis,包括安装配置Javaredis驱动、连接Redis服务及进行基本操作,如设置和获取字符串数据、操作列表及管理键。

Java 使用 Redis

安装

开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 Java的安装配置可以参考我们的 Java开发环境配置 接下来让我们安装 Java redis 驱动:

  • 首先你需要下载驱动包 下载 jedis.jar,确保下载最新驱动包。
  • 在你的 classpath 中包含该驱动包。

本站提供了 2.9.0 jar 版本下载: jedis-2.9.0.jar


连接到 redis 服务

实例

import redis . clients . jedis . Jedis ; public class RedisJava { public static void main ( String [ ] args ) { // 连接本地的 Redis 服务 Jedis jedis = new Jedis ( " localhost " ) ; System . out . println ( " 连接成功 " ) ; // 查看服务是否运行 System . out . println ( " 服务正在运行: " + jedis . ping ( ) ) ; } }

编译以上 Java 程序,确保驱动包的路径是正确的。

连接成功
服务正在运行: PONG

Redis Java String(字符串) 实例

实例

import redis . clients . jedis . Jedis ; public class RedisStringJava { public static void main ( String [ ] args ) { // 连接本地的 Redis 服务 Jedis jedis = new Jedis ( " localhost " ) ; System . out . println ( " 连接成功 " ) ; // 设置 redis 字符串数据 jedis . set ( " runoobkey " , " www.runoob.com " ) ; // 获取存储的数据并输出 System . out . println ( " redis 存储的字符串为: " + jedis . get ( " runoobkey " ) ) ; } }

编译以上程序。

连接成功
redis 存储的字符串为: www.runoob.com

Redis Java List(列表) 实例

实例

import java . util . List ; import redis . clients . jedis . Jedis ; public class RedisListJava { public static void main ( String [ ] args ) { // 连接本地的 Redis 服务 Jedis jedis = new Jedis ( " localhost " ) ; System . out . println ( " 连接成功 " ) ; // 存储数据到列表中 jedis . lpush ( " site-list " , " Runoob " ) ; jedis . lpush ( " site-list " , " Google " ) ; jedis . lpush ( " site-list " , " Taobao " ) ; // 获取存储的数据并输出 List < String > list = jedis . lrange ( " site-list " , 0 , 2 ) ; for ( int i = 0 ; i < list . size ( ) ; i ++ ) { System . out . println ( " 列表项为: " + list . get ( i ) ) ; } } }

编译以上程序。

连接成功
列表项为: Taobao
列表项为: Google
列表项为: Runoob

Redis Java Keys 实例

实例

import java . util . Iterator ; import java . util . Set ; import redis . clients . jedis . Jedis ; public class RedisKeyJava { public static void main ( String [ ] args ) { // 连接本地的 Redis 服务 Jedis jedis = new Jedis ( " localhost " ) ; System . out . println ( " 连接成功 " ) ; // 获取数据并输出 Set < String > keys = jedis . keys ( " * " ) ; Iterator < String > it = keys . iterator ( ) ; while ( it . hasNext ( ) ) { String key = it . next ( ) ; System . out . println ( key ) ; } } }

编译以上程序。

连接成功
runoobkey
site-list
Java代码中使用Redis,需要使用RedisJava客户端,如同使用JDBC操作MySQL数据库一样,以下是不同方式的具体操作: ### 单连接方式 ```java public class RedisSingle { /** * 提示: 此代码能够正常执行的前提是: * 1. Redis 所在服务器的防火墙已关闭 * 2. redis.conf 中的 bind 参数被指定为 192.168.182.103 * @param args */ public static void main(String[] args) { //获取 Jedis 连接 Jedis jedis = new Jedis("192.168.182.103", 6379); //向 Redis 中添加数据, key=wangzongyu, value=hello redis! jedis.set("wangzongyu", "hello redis!"); //从 Redis 中查询 key=xuwei 的值 String value = jedis.get("xuwei"); System.out.println(value); //关闭 Jedis 连接 jedis.close(); } } ``` ### 连接本地服务并认证 ```java public static void main(String[] args) { //连接本地的 Redis 服务 Jedis jedis = new Jedis("127.0.0.1", 6379); //密码 jedis.auth("123456"); System.out.println("连接成功"); //查看服务是否运行 System.out.println("服务器正在运行: " + jedis.ping()); } ``` ### 操作不同数据类型 #### String类型 ```java //存储数据 jedis.set("test", "YU"); //切换数据库 jedis.select(2); //存储数据时同时设置过期时间 jedis.setex("time", 15, "过期时间"); ``` #### Hash类型 ```java // 直接存储 jedis.hset("user", "name", "YU"); jedis.hset("user", "hobby", "Java"); jedis.hset("user", "age", "18"); // 利用工具类以map的形式存储数据 // (1)RedisUtils工具类 package com.zking.ssm.util; import redis.clients.jedis.Jedis; import java.util.Map; import java.util.Set; public class RedisUtils { public static void setHashMap(Jedis jedis, String key, Map<String, String> map) { if (map != null && map.size() > 0) { Set<String> keys = map.keySet(); for (String k : keys) { jedis.hset(key, k, map.get(k)); } } } } // (2)应用 import java.util.HashMap; import java.util.Map; import redis.clients.jedis.Jedis; public class Main { public static void main(String[] args) { Jedis jedis = new Jedis("127.0.0.1", 6379); Map<String, String> map = new HashMap<>(); map.put("name", "YU"); map.put("hobby", "Java"); map.put("age", "18"); RedisUtils.setHashMap(jedis, "user", map); jedis.close(); } } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值