版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_38868875/article/details/78075224
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
常用API示例
package com.csl.test;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import org.junit.Test;
import redis.clients.jedis.Jedis;
public class Test_1 {
@Test
public void show () {
// 连接redis服务器,localhost --> 127.0.0.1:6379
Jedis jedis = new Jedis("localhost");
System.out.println(jedis.ping()+ "连接成功!");
//单个数据------------------------
jedis.set("A", "127.0.0.1");
String a = jedis.get("A");
System.out.println(a);
//List数据存储------------------------
jedis.lpush("list", "0-->0");
jedis.lpush("list", "1-->1");
jedis.lpush("list", "2-->2");
Long lg = jedis.lpush("list", "3-->3");//返回值
System.out.println("lg:"+lg);
List<String> list = jedis.lrange("list", 0, 3);
for (String string : list) {
System.out.println(string);
}
//取集合单条数据
String str = jedis.lindex("list", 0);
System.out.println("str:"+str);
//修改替换0上的值
jedis.lset("list", 0, "6379");
System.out.println(jedis.lindex("list", 0));
//Set数据存储-----------------------
jedis.sadd("set", "A","B","C","D");//无序存储
jedis.srem("set", "A");//删除set中的A
Set<String> set = jedis.smembers("set");
for (String s : set) {
System.out.println(s);
}
//Map数据存储-------------------------
jedis.hset("map", "id", "10023");
jedis.hset("map", "name", "Jack");
jedis.hset("map", "age", "23");
jedis.hset("map1", "id", "10024");
jedis.hset("map1", "name", "Mack");
jedis.hset("map1", "age", "24");
//取值
String str_1 = jedis.hget("map", "name");
String str_2 = jedis.hget("map1", "name");
System.out.println(str_1+"--->"+ str_2);
//key值集合
Set<String> set_1 = jedis.hkeys("map");
for (String o : set_1) {
System.out.println(o);
}
//value值集合
List<String> list_1 = jedis.hvals("map1");
for (String s : list_1) {
System.out.println(s);
}
//所有值
Map<String,String> map = jedis.hgetAll("map1");
for (Entry<String, String> s : map.entrySet()) {
System.out.println(s);
}
//SortedSet数据存储---------------------
jedis.zadd("sort", 0, "有序存储0");
jedis.zadd("sort", 1, "有序存储1");
jedis.zadd("sort", 2, "有序存储2");
jedis.zadd("sort", 3, "有序存储3");
Long l = jedis.zcard("sort");//存储数量
Long l1 = jedis.zcount("sort", 0, 6);//0~6位置间数量
System.out.println(l+"--->"+l1);
Set<String> sets = jedis.zrange("sort", 0, 6);//遍历
for (String s : sets) {
System.out.println(s);
}
// jedis.zrem("sort", "" , "");删除
}
------------------------------------------------------------------访问IT资料站学习更多IT知识!