上篇为redis入门:数据库:redis(一)
本篇使用Jedis(一款java操作redis的数据库工具)继续学习。
创建项目导入jar:
String操作:
package com.redis.test;
import org.junit.Test;
import redis.clients.jedis.Jedis;
public class TestRedis {
@Test
public void test() {
Jedis jds =new Jedis("127.0.0.1",6379);//获取连接
jds.set("name","法外狂徒张三");//操作
jds.close();//关闭连接
}
}
拿到了数据,却中文乱码了。(此问题暂留后面解决)。
先试下别的操作哈希操作:
@Test
public void test2() {
Jedis jds =new Jedis("127.0.0.1",6379);//获取连接
jds.set("name","法外狂徒张三");
System.out.println(jds.get("name"));
jds.setex("activecode", 20, "我只有20秒的记忆哦");
jds.close();//关闭连接
}
@Test
public void test3() {
Jedis jds =new Jedis("127.0.0.1",6379);//获取连接
jds.hset("admin", "username", "lisi");//设置哈希值
System.out.println(jds.hget("admin", "username"));//获取哈希值
jds.hset("admin", "sex", "male");
Map <String,String> user=jds.hgetAll("admin");
Set<String> keySet=user.keySet();
for(String key:keySet) {
System.out.println(user.get(key));
}
jds.close();//关闭连接
}
上面这段代码起初Junit执行报错,原因是数据库已有一个key为"user"的String,改为"admin"后执行通过。
List操作
@Test
public void test4() {
Jedis jds =new Jedis("127.0.0.1",6379);//获取连接
jds.lpush("mylist", "c","b","a");
jds.rpush("mylist", "x","y","z");
List<String> list=jds.lrange("mylist",0,5);//获取元素0-5
System.out.println(list);
jds.lpop("mylist");//弹出最左边
jds.rpop("mylist");//弹出最右边
List<String> list2=jds.lrange("mylist",0,-1);//获取所有元素
System.out.println(list2);
jds.close();//关闭连接
}
Set操作
@Test
public void test5() {
Jedis jds =new Jedis("127.0.0.1",6379);//获取连接
jds.sadd("myset", "java","python","c++");//插入数据
System.out.println(jds.smembers("myset"));//获取数据
jds.close();//关闭连接
}
sortedSet操作
@Test
public void test6() {
Jedis jds =new Jedis("127.0.0.1",6379);//获取连接
jds.zadd("mysortedSet", 3,"灰烬之灵");
jds.zadd("mysortedSet", 10,"大地之灵");
jds.zadd("mysortedSet", 20,"风暴之灵");
jds.zadd("mysortedSet", 20,"帕吉");//score仅用作排序
Set<String> mySet=jds.zrange("mysortedSet", 0, -1);
System.out.println(mySet);
jds.close();//关闭连接
}