Java中使用Redis

本文介绍了如何在Java项目中使用Maven引入Jedis库来操作Redis,包括设置String、List、Set、Hash以及SortedSet,并展示了Jedis连接池的使用。示例代码详细演示了各种数据类型的增删查改操作。
部署运行你感兴趣的模型镜像

如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Java redis 驱动。

Maven项目可以直接在pom.xml中加入jedis包驱动:

      <dependency>
			<groupId>redis.clients</groupId>
			<artifactId>jedis</artifactId>
			<version>2.9.0</version>
	  </dependency>

Jedis中操作String,List,Set,Hash,以及集合排序

package com.srd.tset;


import java.util.List;
import java.util.Map;
import java.util.Set;

import org.junit.Test;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class Tset {
	
	/**
     * Redis操作字符串
     */
	@Test 
	public void tset1() {
		// TODO Auto-generated constructor stub
		//连接redis服务器(在这里是连接本地的)
		Jedis jedis= new Jedis("127.0.0.1",6379);
		jedis.select(1);
		 //添加数据
		jedis.set("userName", "张三");//key为userName放入value值为张三
		System.out.println(jedis.get("userName"));//读取key为userName的值
		//关闭redis
	    jedis.close();
		
	}
	
	@Test 
	public void tset2() {
		// TODO Auto-generated constructor stub
		//连接redis服务器(在这里是连接本地的)
		Jedis jedis= new Jedis("127.0.0.1",6379);
		jedis.select(1);
		//添加数据
		jedis.setex("code", 15, "773357");//key为code时间为15秒value为773347
		System.out.println(jedis.get("code")); //读取key为code的值
		//关闭redis
	    jedis.close();
		
	}
	/**
     * jedis操作List
     */
	@Test 
	public void tset3() {
		// TODO Auto-generated constructor stub
		//连接redis服务器(在这里是连接本地的)
		Jedis jedis= new Jedis("127.0.0.1",6379);
		//添加数据
		 jedis.lpush("mylist", "a","b","c");
		 jedis.rpush("mylist", "d","e","f");
		List<String> jlist= jedis.lrange("mylist", 0, -1);
		//遍历输出
		 for (String j : jlist) {
			System.out.println(j);
		}
		//关闭redis
	    jedis.close();
	}
	 /**
     * jedis操作Set
     */
	@Test 
	public void tset4() {
		// TODO Auto-generated constructor stub
		//连接redis服务器(在这里是连接本地的)
		Jedis jedis= new Jedis("127.0.0.1",6379);
		 jedis.sadd("myset", "张三","lisi","wangwu");
		//遍历输出
		Set<String> set= jedis.smembers("myset");
		for (String string : set) {
			System.out.println(string);
		}
		//关闭redis
	    jedis.close();
	}
	 /**
     * jedis操作Hash
     */
	@Test 
	public void tset5() {
		// TODO Auto-generated constructor stub
		//连接redis服务器(在这里是连接本地的)
		Jedis jedis= new Jedis("127.0.0.1",6379);
		 jedis.hset("myhash", "userName", "李四");
		 jedis.hset("myhash", "password", "123456");
		//遍历输出
		 Map<String, String> map=  jedis.hgetAll("myhash");
		Set<String> keys= map.keySet();
		for (String string : keys) {
			System.out.println(string+"\t"+map.get(string));
		}
		//关闭redis
	    jedis.close();
	}
	/**
	 * jedis操作sortedset(有序集合)
	 */
	@Test 
	public void tset6() {
		// TODO Auto-generated constructor stub
		//连接redis服务器(在这里是连接本地的)
		Jedis jedis= new Jedis("127.0.0.1",6379);
		 jedis.zadd("mysort",99,"张三");
		 jedis.zadd("mysort",50,"李四");
		 jedis.zadd("mysort",70,"王五");
		//遍历输出
		Set<String> set= jedis.zrange("mysort", 0, -1);
		for (String string : set) {
			System.out.println(string);
		}
		//关闭redis
	    jedis.close();
	}
	 
}

jedis连接池使用
 

//jedis连接池使用
    @Test
    public void test7(){
      //创建一个配置对象
        JedisPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(50);
        config.setMinIdle(10);
        JedisPool localhost = new JedisPool(config, "127.0.0.1", 6379);
       //从连接池拿到一个jedis连接
        Jedis jedis = localhost.getResource();
        jedis.set("xxoo","123");
       System.out.println(jedis.get("xxoo")); 
          //关闭redis
        jedis.close();
    }

您可能感兴趣的与本文相关的镜像

Qwen-Image

Qwen-Image

图片生成
Qwen

Qwen-Image是阿里云通义千问团队于2025年8月发布的亿参数图像生成基础模型,其最大亮点是强大的复杂文本渲染和精确图像编辑能力,能够生成包含多行、段落级中英文文本的高保真图像

Java使用Redis,通常需要通过一些适配器或客户端库来连接和操作Redis服务器。以下是一般的步骤和常用的工具: 1. **引入依赖**: - 如果你是使用Maven,可以在pom.xml文件中添加Spring Data Redis或lettuce等Redis客户端库的依赖。 ```xml <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> </dependency> ``` 或者 ```xml <dependency> <groupId>io.lettuce</groupId> <artifactId>lettuce-core</artifactId> </dependency> ``` 2. **配置Redis连接**: - 在Spring Boot项目中,可以配置`application.properties`或`application.yml`文件中的Redis连接信息,如主机名、端口、密码等。 ```properties spring.redis.host=localhost spring.redis.port=6379 ``` 3. **使用RedisTemplate或Jedis**: - Spring Data Redis提供了一个`RedisTemplate`接口,用于封装各种Redis命令,可以方便地执行CRUD操作。 ```java @Autowired private RedisTemplate<String, String> redisTemplate; // 例子:存取值 public void set(String key, String value) { redisTemplate.opsForValue().set(key, value); } ``` - 或者使用Jedis,它是独立于Spring的简单Redis客户端。 ```java Jedis jedis = new Jedis("localhost"); jedis.set("key", "value"); ``` 4. **事务和管道(Pipeline)**: Redis支持原子性的多条命令操作,可以使用事务或pipeline提高性能。 5. **序列化和反序列化**: - 默认情况下,Java对象会被转换为字符串再存入Redis。如果需要自定义序列化,可以使用Jackson、Kryo或自定义`RedisSerializer`。 ```java public class MyObjectSerializer implements RedisSerializer<MyObject> { // 实现序列化和反序列化的逻辑 } ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值