Java使用Jedis操作Redis

package com.demo.ssm;

import redis.clients.jedis.Jedis;

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class TestRedis {

private Jedis jedis;

public static void main(String[] args) {
TestRedis tr = new TestRedis();
System.out.println();
System.out.println("---------连接redis服务器,localhost---------");
tr.setup();
// jedis存储字符串
System.out.println();
System.out.println("---------jedis存储字符串---------");
tr.testString();
// jedis操作Map
System.out.println();
System.out.println("---------jedis操作Map---------");
tr.testMap();
// jedis操作List
System.out.println("\n");
System.out.println("---------jedis操作List---------");
tr.testList();
// jedis操作Set
System.out.println("---------jedis操作Set---------");
tr.testSet();
// jedis排序
System.out.println("---------jedis排序---------");
tr.test();
}

public void setup() {
// 连接redis服务器,localhost
jedis = new Jedis("localhost", 6379);
// 权限认证
jedis.auth("123");
// 查看服务是否运行
System.out.println("Server is running: " + jedis.ping());
}

/**
* redis存储字符串
*/
public void testString() {
// 开始前,先移除所有的内容
jedis.del("name");
jedis.del("age");
jedis.del("qq");
// 向key-->name中放入了value-->Admin
jedis.set("name", "Admin");
// 执行结果:Admin
System.out.println(jedis.get("name"));
// 拼接
jedis.append("name", " is my lover");
// 执行结果:Admin is my lover
System.out.println(jedis.get("name"));
// 删除某个键
jedis.del("name");
// 执行结果:null
System.out.println(jedis.get("name"));
// 设置多个键值对
jedis.mset("name", "ROOT", "age", "23", "qq", "296513xxx");
// 进行加1操作
jedis.incr("age");
// 执行结果:ROOT-24-296513xxx
System.out.println(jedis.get("name") + "-" + jedis.get("age") + "-" + jedis.get("qq"));
}

/**
* redis操作Map
*/
public void testMap() {
// 开始前,先移除所有的内容
jedis.del("user");
Map<String, String> map = new HashMap<String, String>();
map.put("name", "ROOT");
map.put("age", "23");
map.put("qq", "296513xxx");
jedis.hmset("user", map);
// 取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List
// 第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数
List<String> rsmap = jedis.hmget("user", "name", "age", "qq");
// 执行结果:[ROOT, 23, 296513xxx]
System.out.println(rsmap);
// 删除map中的某个键值
jedis.hdel("user", "age");
// 因为删除了,所以返回的是null
System.out.println(jedis.hmget("user", "age"));
// 返回key为user的键中存放的值的个数2
System.out.println(jedis.hlen("user"));
// 是否存在key为user的记录 返回true
System.out.println(jedis.exists("user"));
// 返回map对象中的所有key,执行结果:[qq, name]
System.out.println(jedis.hkeys("user"));
// 返回map对象中的所有value,执行结果:[Admin, 296513xxx]
System.out.println(jedis.hvals("user"));
Iterator<String> iter = jedis.hkeys("user").iterator();
while (iter.hasNext()) {
String key = iter.next();
// 执行结果:qq:[296513xxx] name:[Admin]
System.out.print(key + ":" + jedis.hmget("user", key) + "\t\t");
}
}

/**
* jedis操作List
*/
public void testList() {
// 开始前,先移除所有的内容
jedis.del("java");
// 输出结果:[]
System.out.println(jedis.lrange("java", 0, -1));
// 先向key java中存放三条数据
jedis.lpush("java", "spring");
jedis.lpush("java", "struts");
jedis.lpush("java", "hibernate");
// 再取出所有数据jedis.lrange是按范围取出,
// 第一个是key,第二个是起始位置,第三个是结束位置,-1表示取得所有
// 输出结果:[hibernate, struts, spring]
System.out.println(jedis.lrange("java", 0, -1));
jedis.del("java");
jedis.rpush("java", "spring");
jedis.rpush("java", "struts");
jedis.rpush("java", "hibernate");
// 输出结果:[spring, struts, hibernate]
System.out.println(jedis.lrange("java", 0, -1));
}

/**
* jedis操作Set
*/
public void testSet() {
// 开始前,先移除所有的内容
jedis.del("user");
// 添加
jedis.sadd("user", "张三");
jedis.sadd("user", "李四");
jedis.sadd("user", "王五");
jedis.sadd("user", "赵六");
jedis.sadd("user", "田七");
// 移除noname
jedis.srem("user", "张三");
// 获取所有加入的value,输出结果:[王五, 赵六, 田七, 李四]
System.out.println(jedis.smembers("user"));
// 判断 who 是否是user集合的元素,输出结果:false
System.out.println(jedis.sismember("user", "who"));
// 随机的返回Set中的一个成员,不同的是该命令并不会删除返回的成员。
System.out.println(jedis.srandmember("user"));
// 返回集合的元素个数
System.out.println(jedis.scard("user"));
}

/**
* jedis排序
*/
public void test() {
try {
// jedis 排序
// 注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
// 先清除数据,再加入数据进行测试
jedis.del("a");
jedis.rpush("a", "1");
jedis.lpush("a", "6");
jedis.lpush("a", "3");
jedis.lpush("a", "9");
// 输出结果:[9, 3, 6, 1]
System.out.println(jedis.lrange("a", 0, -1));
// 输出排序后结果:[1, 3, 6, 9]
System.out.println(jedis.sort("a"));
System.out.println(jedis.lrange("a", 0, -1));
} catch (Exception e) {
e.printStackTrace();
}
}

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值