java 链接redis demo_利用JAVA操作Redis---demo

package com.js.ai.modules.pointwall.interfac;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import org.junit.Before;

import org.junit.Test;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

import redis.clients.jedis.JedisPoolConfig;

/*利用JAVA操作Redis*/

public class RedisTest {

JedisPool pool;

Jedis jedis;

@Before

public void setUp(){

pool=new JedisPool(new JedisPoolConfig(), "127.0.0.1");

jedis=pool.getResource();

jedis.auth("mypass");

}

/*Redis存储初级的字符串*/

@Test

public void testBasicString(){

//存取数据 结果:xfzh

jedis.set("name", "xfzh");

System.out.println(jedis.get("name"));

//修改数据1:在原来基础上修改 结果:xfzhgoho

jedis.append("name", "goho");

System.out.println(jedis.get("name"));

//修改数据2:覆盖 结果:goho

jedis.set("name", "goho");

System.out.println(jedis.get("name"));

//删除key对应的记录 结果:null

jedis.del("name");

System.out.println(jedis.get("name"));

}

/*jedis操作Map*/

@Test

public void testMap(){

Map user=new HashMap();

user.put("name", "kij");

user.put("age", "8");

user.put("sex", "女");

jedis.hmset("user", user);

//取出user中的name,执行结果:[kij]-->注意结果是一个泛型的List

List rsmap=jedis.hmget("user", "name");

System.out.println(rsmap);

//删除map中的某个键值

jedis.hdel("user", "name");

System.out.println(jedis.hmget("user", "name"));//结果:[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 [age, sex]

System.out.println(jedis.hvals("user"));//返回map对象中的所有value [8, 女]

Iterator iterator=jedis.hkeys("user").iterator();

while(iterator.hasNext()){

String key=iterator.next();

System.out.println(key+":"+jedis.hmget("user", key));

}

}

/*jedis操作List */

@Test

public void testList(){

//开始前,先移除所有的内容

jedis.del("java framework");

System.out.println(jedis.lrange("java framework", 0, -1));//结果:[]

//先向key java framework中存放三条数据

jedis.lpush("java framework", "spring");

jedis.lpush("java framework","struts");

jedis.lpush("java framework","hibernate");

//再取出所有数据jedis.lrange是按范围取出,

// 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有

System.out.println(jedis.lrange("java framework", 0, -1));//结果:[hibernate, struts, spring]

}

/*jedis操作Set */

@Test

public void testSet(){

//添加

jedis.sadd("sname", "okl");

jedis.sadd("sname", "okpl");

jedis.sadd("sname", "ogkl");

jedis.sadd("sname", "okdrl");

//移除noname

jedis.srem("sname","okdrl");

System.out.println(jedis.smembers("sname"));//获取所有加入的value 结果:[okl, okpl, ogkl]

System.out.println(jedis.sismember("sname", "ogkl"));//判断 ogkl 是否是sname集合的元素 结果:true

System.out.println(jedis.sismember("sname", "ogukl"));//判断 ogukl 是否是sname集合的元素 结果:false

System.out.println(jedis.srandmember("sname"));//只提供集合 key 参数时,返回一个元素 结果:okl

System.out.println(jedis.scard("sname"));//返回集合的元素个数 结果:3

}

@Test

public void test() throws InterruptedException{

//keys中传入的可以用通配符

System.out.println(jedis.keys("*"));//返回当前库中所有的key 结果:[java framework, user, sname]

System.out.println(jedis.keys("*name"));//结果:[sname]

System.out.println(jedis.del("sname"));删除key为sname的对象 删除成功返回1 删除失败(或者不存在)返回 0

System.out.println(jedis.ttl("user"));//返回给定key的有效时间,如果是-1则表示永远有效

jedis.setex("golo", 10, "min");//通过此方法,可以指定key的存活(有效时间) 时间为秒

Thread.sleep(5000);//睡眠5秒后,剩余时间将为<=5

System.out.println(jedis.ttl("golo"));//输出结果为5

jedis.setex("golo", 1, "min");//设为1后,下面再看剩余时间就是1了

System.out.println(jedis.ttl("golo"));//输出结果为1

System.out.println(jedis.exists("key"));//检查key是否存在 结果: false

System.out.println(jedis.rename("golo", "aogo"));

System.out.println(jedis.get("golo"));//因为移除,返回为null 结果:null

System.out.println(jedis.get("aogo")); //因为将timekey 重命名为time 所以可以取得值 min 结果: min

//jedis排序

//注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)

jedis.del("b");//先清除数据,再加入数据进行测试

jedis.rpush("b", "2");

jedis.lpush("b", "3");

jedis.lpush("b", "1");

jedis.lpush("b", "8");

jedis.lpush("b", "0");

System.out.println(jedis.lrange("b", 0, -1));//结果:[0, 8, 1, 3, 2]

System.out.println(jedis.sort("b"));//输入排序后结果:[0, 1, 2, 3, 8]

System.out.println(jedis.lrange("b", 0, -1));//结果:[0, 8, 1, 3, 2]

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值