Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import redis.clients.jedis.Jedis;
public class TestRedis {
private Jedis jedis;
public void setup(){
//链接服务器
jedis = new Jedis("127.0.0.1",6379);
//权限认证,没有密码可以不用,redis一般只在本地登录
//jedis.auth("root");
}
/**
* redis存取字符串
*/
public void testString(){
//添加数据
jedis.set("name", "逗逼");
System.out.println("name:"+jedis.get("name"));;
//拼接
jedis.append("name", "is my lover");
System.out.println("name:"+jedis.get("name"));
//删除某个键
jedis.del("name");
System.out.println("被删除之后的name:"+jedis.get("name"));
//设置多个键值对
jedis.mset("name","猴子","age","20","qq","110");
System.out.println(jedis.get("name")+"-"+jedis.get("age")+"-"+jedis.get("qq"));
//进行加1操作
jedis.incr("age");
System.out.println("加1之后的age"+jedis.get("age"));
}
/**
* redis操作Map
**/
public void testMap(){
//添加数据
Map <String,String> user001 = new HashMap<String,String>();
user001.put("name", "逗逼");
user001.put("age", "20");
user001.put("QQ", "120");
jedis.hmset("user001", user001);
Map <String,String> user002 = new HashMap<String,String>();
user002.put("name", "猴子");
user002.put("age", "30");
user002.put("QQ", "130");
jedis.hmset("user002", user002);
//读取数据,取出user001中的name,执行结果:[逗逼, 20, 120],注意执行结果是一个泛型的List
//第一个参数是map对象的key,后面是map对象的key,可以多个,也可以写一个
List <String> rsmap0010 = jedis.hmget("user001", "name");
List <String> rsmap0011 = jedis.hmget("user001","name","age");
List <String> rsmap0012 = jedis.hmget("user001","name","age","QQ");
System.out.println("读取的Map数据:"+rsmap0010);
System.out.println("读取的Map数据:"+rsmap0011);
System.out.println("读取的Map数据:"+rsmap0012);
//删除map中的某个键值
jedis.hdel("user001", "name","age");
System.out.println(jedis.hmget("user001", "name"));//输出null
System.out.println(jedis.hlen("user001"));//返回key为user001的的键中存放的值的个数 ,是1
System.out.println(jedis.exists("user001"));//返回是否存在key为user001的记录, true
System.out.println(jedis.hkeys("user001"));//返回map对象所有的key,[QQ]
System.out.println(jedis.hvals("user001"));//返回map对象所有的value,[120]
//遍历user001中的内容
Iterator <String> iterator = jedis.hkeys("user002").iterator();
while(iterator.hasNext()){
String key = iterator.next();
System.out.println(key+":"+jedis.hmget("user002", key).get(0));
}
}
/**
* 操作list
*/
public void testList(){
jedis.del("java framework");//开始前,先删除所有key为java frameworkde 内容
System.out.println(jedis.lrange("java framework", 0, -1));//列出编号为0到倒数第一个元素
System.out.println(jedis.lrange("java framework",0,1));//列出编号0到1的元素
//先向key java framework中存放三条数据
jedis.lpush("java framework", "spring");
jedis.lpush("java framework", "struts");
jedis.lpush("java framework", "hibernate");
System.out.println(jedis.lrange("java framework", 0, -1));
//jedis.del("java framework");
jedis.rpush("java framework", "1");//尾部插入数据
jedis.rpush("java framework", "2");
jedis.rpush("java framework", "3");
System.out.println(jedis.lrange("java framework", 0, -1));
}
/**
* 操作set
*/
public void testSet(){
//添加
jedis.sadd("user", "1");
jedis.sadd("user", "2");
jedis.sadd("user", "3");
jedis.sadd("user", "4");
jedis.sadd("user", "5");
//移除5
jedis.srem("user", "5");
System.out.println(jedis.smembers("user"));//获取所有加入的value
System.out.println(jedis.sismember("user", "who"));//判断who是否是user集合的元素
System.out.println(jedis.srandmember("user"));//随机返回一个元素
System.out.println(jedis.scard("user"));//返回元素的个数
}
public static void main(String[] args){
TestRedis testRedis = new TestRedis();
testRedis.setup();
testRedis.testSet();
}
}
本文转自 残剑
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于