Java中使用Jedis对Redis的一些基本操作,其实很简单。
开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且机器上能正常使用 Java。
使用的jar包:
代码:
import org.junit.Test;
import redis.clients.jedis.Jedis;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
public class RedisJava {
@Test
// Redis 连接服务 实例
public void connectionServerExample(){
// 连接本地 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("连接本地的 Redis 服务成功");
// 查看服务是否运行
System.out.println("服务正在运行:"+ jedis.ping());
}
@Test
// Redis Java String 实例
public void redisStringExample(){
// 连接本地 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("Connection to server sucessfully");
/* 设置值与取值 */
jedis.set("StringKey","StringValue");
System.out.println(jedis.get("StringKey"));
String name = jedis.get("theName");
System.out.println("Stored theName in redis: "+name);
/* 拼接 */
jedis.append("name", " is my lover");
System.out.println(jedis.get("name"));
/* 删除某个键 */
jedis.del("name");
//设置多个键值对
jedis.mset("name","xiaoming","age","19","qq","123456");
jedis.incr("age"); //进行加1操作
System.out.println(jedis.get("name") + "******" + jedis.get("age") + "******" + jedis.get("qq"));
}
@Test
// Redis Java List 实例
public void redisListExample(){
// 连接本地 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("Connection to server sucessfully");
//存储数据到列表中,rpush:从前面插入,lpush从后面插入
jedis.rpush("myList","mysql");
jedis.rpush("myList","mongodb");
jedis.lpush("myList","oracle");
jedis.lpush("myList","reids");
// 获取长度
long listLength = jedis.llen("myList");
// 获取存储的数据并输出 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有
List<String> list = jedis.lrange("myList",0,-1);
for(int i=0;i<list.size();i++){
System.out.println("Stored string in redis:: "+list.get(i));
}
// 移除所有内容
jedis.del("myList");
}
@Test
// Redis Java map 实例
public void redisMapExample(){
// 连接本地 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("Connection to server sucessfully");
// 添加数据
Map<String,String > map = new HashMap<String ,String >();
map.put("name","xiaoming");
map.put("age","18");
map.put("weChat","123456");
jedis.hmset("user",map);
//第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数
List<String> rsMap = jedis.hmget("user","name","age","weChat");
System.out.println(rsMap);
System.out.println(jedis.hmget("user","name")); // 返回user的name
System.out.println(jedis.hlen("user")); // 返回key为user的键中存放的值的个数
System.out.println(jedis.exists("user")); // 是否存在key为user的记录 有返回true 没有返回false
System.out.println(jedis.hkeys("user")); // 返回map对象中的所有key
System.out.println(jedis.hvals("user")); // 返回map对象中的所有value
//删除map中的某个键值
jedis.hdel("user","age");
// 遍历map
Iterator<String> iter = jedis.hkeys("user").iterator();
while(iter.hasNext()){
String key = iter.next();
System.out.println(jedis.hmget("user",key));
}
}
@Test
// Redis Java Set 实例
public void redisSetExample(){
// 连接本地 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("Connection to server sucessfully");
// 添加数据
jedis.sadd("people","ming");
jedis.sadd("people","hong");
jedis.sadd("people","xxxxx");
jedis.sadd("people","wang");
jedis.sadd("people","error");
//移除
jedis.srem("people","error");
System.out.println(jedis.smembers("people")); // 获取所有加入value
System.out.println(jedis.sismember("people","error"));//判断 error 是否是people集合的元素
System.out.println(jedis.srandmember("people")); // 随机取得其中一个元素
System.out.println(jedis.scard("people")); // 返回集合的元素个数
}
@Test
// Redis Java Sort
public void redisSortExample(){
// 连接本地 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("Connection to server sucessfully");
//jedis 排序
//注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
jedis.del("a");//先清除数据,再加入数据进行测试
jedis.rpush("a", "1");
jedis.lpush("a","6");
jedis.lpush("a","3");
jedis.lpush("a","9");
System.out.println(jedis.lrange("a",0,-1));// [9, 3, 6, 1]
System.out.println(jedis.sort("a")); //[1, 3, 6, 9] //输入排序后结果
System.out.println(jedis.lrange("a",0,-1));
}
@Test
public void redisChinese(){
// 连接本地 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("Connection to server sucessfully");
jedis.set("chinese","我是中文");
System.out.println(jedis.get("chinese"));
}
@Test
public void redisFlush(){
// 连接本地 Redis 服务
Jedis jedis = new Jedis("localhost");
System.out.println("Connection to server sucessfully");
jedis.flushAll(); //清空整个 Redis 服务器的数据(删除所有数据库的所有 key )
jedis.flushDB(); // 清空当前数据库中的所有 key
}
}
如果有什么疑问或者欢迎再下方留言~~
踏实一些,不要着急,你想要的,岁月都会给你。