package redisdemo.redistest;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import redis.clients.jedis.Jedis;
/**
* Redis 基本操作方法
* <dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.3</version>
</dependency>
* @QQ: 525354786
* @author gaojingsong
*
*/
public class TestRedis {
private static Jedis jedis;
public static void main(String[] args) throws Exception {
connect();
testString();
testMap();
// testList();
testSet();
// testSort();
}
public static void connect() {
//连接redis服务器,192.168.0.100:6379
jedis = new Jedis("192.168.1.111", 6379);
//权限认证
//jedis.auth("admin");
}
/**
* redis存储字符串
*/
public static void testString() {
//-----添加数据----------
jedis.set("name","张三");//向key-->name中放入了value-->张三
System.out.println(jedis.get("name"));//执行结果:张三
jedis.append("name", "李四"); //拼接
System.out.println(jedis.get("name"));
jedis.del("name"); //删除某个键
System.out.println(jedis.get("name"));
//设置多个键值对
jedis.mset("name","张思德","age","23","qq","111111");
jedis.incr("age"); //进行加1操作
System.out.println(jedis.get("name") + "-" + jedis.get("age") + "-" + jedis.get("qq"));
}
/**
* redis操作Map
*/
public static void testMap() {
//-----添加数据----------
Map<String, String> map = new HashMap<String, String>();
map.put("name", "李四");
map.put("age", "22");
map.put("qq", "123456");
jedis.hmset("user",map);
//取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List
//第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数
List<String> rsmap = jedis.hmget("user", "name", "age", "qq");
System.out.println(rsmap);
//删除map中的某个键值
jedis.hdel("user","age");
System.out.println(jedis.hmget("user", "age")); //因为删除了,所以返回的是null
System.out.println(jedis.hlen("user")); //返回key为user的键中存放的值的个数2
System.out.println(jedis.exists("user"));//是否存在key为user的记录 返回true
System.out.println(jedis.hkeys("user"));//返回map对象中的所有key
System.out.println(jedis.hvals("user"));//返回map对象中的所有value
Iterator<String> iter=jedis.hkeys("user").iterator();
while (iter.hasNext()){
String key = iter.next();
System.out.println(key+":"+jedis.hmget("user",key));
}
}
/**
* jedis操作List
*/
public static void testList(){
//开始前,先移除所有的内容
jedis.del("program");
System.out.println(jedis.lrange("program",0,-1));
//先向key program中存放三条数据
jedis.lpush("program","JAVA");
jedis.lpush("program","PHP");
jedis.lpush("program","ASP");
//再取出所有数据jedis.lrange是按范围取出,
// 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有
System.out.println(jedis.lrange("program",0,-1));
jedis.del("program");
jedis.rpush("program","spring");
jedis.rpush("program","struts");
jedis.rpush("program","hibernate");
System.out.println(jedis.lrange("program",0,-1));
}
/**
* jedis操作Set
*/
public static void testSet(){
//添加
jedis.sadd("kuser",new String[]{"2","4"});
System.out.println(jedis.smembers("kuser"));//获取所有加入的value
}
/**
* jedis操作Sort
*/
public static void testSort() throws InterruptedException {
//jedis 排序
//注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
jedis.del("st");//先清除数据,再加入数据进行测试
jedis.rpush("st", "1");
jedis.lpush("st","6");
jedis.lpush("st","3");
jedis.lpush("st","9");
System.out.println(jedis.lrange("st",0,-1));// [9, 3, 6, 1]
System.out.println(jedis.sort("st")); //[1, 3, 6, 9] //输入排序后结果
System.out.println(jedis.lrange("st",0,-1));
}
}
相关推荐
下面将详细讨论如何在Java中操作Redis,以及相关的关键知识点。 首先,为了在Java中操作Redis,我们需要一个Java客户端库。最常用的库之一是Jedis,它是由Redis官方推荐的Java客户端。Jedis提供了丰富的API,涵盖了...
以上就是Java操作Redis的一些基本示例。在实际应用中,通常会封装一个Redis模板类,以更高效、安全地管理和执行这些操作。同时,注意合理利用连接池,如JedisPool,以提高性能并防止资源泄漏。在项目中,根据具体...
在Java开发中,Redis作为一个高性能的键值存储系统,常被用作缓存和消息...通过以上的方式,我们可以构建一个全面的Java Redis操作工具类,为应用程序提供便捷、高效的Redis操作接口,降低开发复杂度并提高代码复用性。
9. **最佳实践**:了解并遵循Java客户端与Redis集群交互的最佳实践,如批量操作、命令合并发送等,以提高效率。 通过以上这些方面,我们可以全面地测试Java客户端与Redis集群的整合和功能,确保在实际应用中能够...
#### 二、Java程序实现Redis基本操作 1. **程序基本结构**: - 为了方便地与Redis进行交互,可以创建一个`RedisClient`类来封装各种操作。 2. **主要类**: - **功能类**:`RedisClient` - 包含了非切片(单...
Jedis是Java客户端的一个轻量级、开源的实现,它提供了丰富的命令支持,使得Java开发者能够方便地操作Redis。 1. Jedis.jar: 这是Java连接Redis的核心库,包含了所有与Redis服务器交互的API。Jedis提供了一系列的...
以上就是Redis的安装教程以及Java操作Redis的基本步骤。在实际应用中,可以利用Redis的更多功能,如哈希表、集合、有序集合等,以及事务、发布订阅等高级特性,提升应用程序的性能和可扩展性。在开发过程中,确保对...
首先,Java Redis的客户端库主要有Jedis和Lettuce两个,它们都是Java编写的Redis客户端,提供丰富的API供开发者操作Redis。Jedis是较早且广泛使用的库,支持各种Redis命令,适用于大部分场景;Lettuce则提供了更现代...
Jedis是Java社区广泛使用的Redis客户端,提供了丰富的API来操作Redis的各种数据结构。在项目中,你需要将`jedis-2.1.0.jar`添加到项目的类路径中,以便能够使用Jedis进行编程。 1. **连接Redis服务器**: - 使用...
1. Jedis库:Jedis是Java最常用的Redis客户端,提供了丰富的API来操作Redis。例如,你可以使用`Jedis jedis = new Jedis("localhost", 6379);`来创建一个连接,然后通过`jedis.set(key, value)`存储键值对,`jedis....
它们提供了Java API,使得Java程序可以方便地连接并操作Redis。通过Redis Desktop Manager,Java开发者同样可以快速查看和调整Redis中的数据,提高开发效率。 在日常运维中,使用这样的友好的界面管理工具能极大地...
在Java中,我们通常使用Jedis或Lettuce库来连接并操作Redis。 首先,我们需要在项目中引入对应的依赖库。对于Jedis,可以在Maven项目中添加以下依赖: ```xml <groupId>redis.clients <artifactId>jedis ...
接下来,让我们看看如何创建一个连接到Redis服务器的Java程序。在`ConnectionRedis`这个文件中,我们可以创建一个`Jedis`对象,它代表了与Redis服务器的连接。以下是一个简单的示例: ```java import redis.clients...
本文将详细讲解如何在Java项目中运用Redis,并通过一个名为"hello-redis"的示例来展示Redis的基本操作以及消息订阅功能。 首先,我们需要引入Redis的Java客户端Jedis。在Maven项目中,可以在pom.xml文件中添加以下...
为了方便地在Java应用中操作Redis,开发者通常会创建一个工具类(Util),封装各种Redis操作方法。这个"java操作redis工具类"就是这样的一个实用组件,它简化了与Redis服务器的交互,使得代码更简洁、易维护。 首先...
Spring Data Redis提供了`RedisTemplate`和`StringRedisTemplate`,用于操作Redis中的键值对。前者是通用模板,支持各种数据类型,后者专为字符串操作优化。 5. **缓存管理** Spring Boot可以通过`@Cacheable`、`...
这两个都是流行的Java Redis客户端,提供了丰富的API来执行各种Redis操作。 - Jedis是较早且广泛使用的库,而Lettuce则提供了更现代的Netty支持和异步API。 3. **Jedis的使用**: - 添加Jedis依赖到你的项目...
在Java中,我们通常使用Jedis或Lettuce库来连接和操作Redis。Jedis是更常用的一个,它提供了丰富的API来执行各种Redis命令。在Eclipse中,你需要将Jedis库导入到项目中,然后编写代码创建连接,执行命令,例如设置...