Heim > Datenbank > Redis > Hauptteil

Was sind die allgemeinen API-Operationen von Redis?

WBOY
Freigeben: 2023-05-26 19:07:22
nach vorne
1627 Leute haben es durchsucht
//设置键值对
//set key value [EX seconds] [PX milliseconds] [NX|XX]
//获取值
//get key
//删除键
//del key
//清空数据库
//flushdb
//获取list值
//lrange key start stop
//map类型
//hget key field
//hgetall key
//sortedset类型
package hgs.redislearn;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.BinaryClient.LIST_POSITION;
import redis.clients.jedis.Jedis;
/**
 * 
 *  <p>Description:Redis </p> 
 * @author guangshihao
 * @date 2018年9月28日 
 *
 */
public class RedisMainTest {
	Jedis jedis = null;
	@Before
	public void getConnect() {
		 jedis = new Jedis("192.168.6.129", 6379);
	}
	@Test
	public void sysoutConnect() {
		System.out.println(jedis.ping());
	}
	
	@After
	public void finaly() {
		jedis.close();
	}
	
	//测试放入String类型的键值对,并进行获取删除修改等操作
	@Test
	public void TestStringKeys() {
		jedis.set("hgs.name", "haoguangshi.");
		String name = jedis.get("hgs.name");
		System.out.println(name);
		long affect = jedis.del("hgs.name");
		System.out.println(affect);
	}
	
	@Test
	public void TestListKeys() {
		//从左边插入
		jedis.lpush("test_list", "1","2","100");
		//从右边插入
		jedis.rpush("test_list", "100","2","1","this");
		//获取list
		List<String >  lis = jedis.lrange("test_list", 0, -1);
		System.out.println(lis);
		//jedis.lpop lpush  rpop rpush
		//在this出现的第一个位置的前面插入is
		jedis.linsert("test_list", LIST_POSITION.BEFORE, "this", "is");
		
	}
	
	//map类型操作
	@Test
	public void TestMapKeys() throws JsonGenerationException, JsonMappingException, IOException {
/*		Person p = new Person ();
		p.setName("hgs");
		p.setAge(26);
		p.setWeight(65);
		
		
		Person p1 = new Person ();
		p1.setName("wd");
		p1.setAge(23);
		p1.setWeight(60);
		
		ObjectMapper mapper = new ObjectMapper();
		String sp = mapper.writer().writeValueAsString(p);
		String sp1 = mapper.writer().writeValueAsString(p1);
		
		Map<String,String> ps = new HashMap<String, String>();
		ps.put("hgs", sp);
		ps.put("wd", sp1);*/
		jedis.hset("pseron:hgs", "name", "hgs");
		jedis.hset("pseron:hgs", "age", "24");
		jedis.hset("pseron:hgs", "weigth", "65kg");
		
		jedis.hset("pseron:wd", "name", "wd");
		jedis.hset("pseron:wd", "age", "24");		
		jedis.hset("pseron:wd", "weight", "60kg");
		
	}
	@Test
	public void loopMapKeys() {
		//遍历一个map
		Map<String,String> wd = jedis.hgetAll("pseron:wd");
		for(String type : wd.keySet()) {
			System.out.println(type+" : " +wd.get(type));
		}
		//原子操作自增2
		jedis.hincrBy("pseron:hgs\"", "age", 2L);
	}
	
	@Test
	public void delMapKeys() {
		//删除属性
		jedis.hdel("pseron:wd", "weight");
		//打印集合的长度
		System.out.println(jedis.hlen("pseron:hgs"));
	}
	
	//set类型数据结构,添加数据
	@Test
	public void setKeysTest() {
		String[] tmp = new String[] {
			"tianmao","dingding","alimama","zhifubao","feizhu"	
		};
		jedis.sadd("apps", tmp);
		
		String[] tmp1 = new String[] {
				"tianmao","dingdi","alima","zhifubao","feizhu"	
			};
			jedis.sadd("apps", tmp);
			jedis.sadd("apps1", tmp1);
	}
	//遍历
	@Test 
	public void scanSetKeys() {
		//判断某个记录是否存在
		System.out.println(jedis.sismember("apps", "tianmao"));
		System.out.println(jedis.scard("apps"));
		//计算交集
		Set<String> sets = jedis.sinter("apps","apps1");
		for(String s : sets) {
			System.out.println(s);
		}
		
		//并集
		Set<String> sets1 = jedis.sunion("apps","apps1");
		for(String s : sets1) {
			System.out.println(s);
		}
		System.out.println();
		//差集
		Set<String> sets2 = jedis.sdiff("apps","apps1");
		for(String s : sets2) {
			System.out.println(s);
		}
		//遍历
		Set<String> sets3 = jedis.smembers("apps");
		for(String s : sets3) {
			System.out.println(s);
		}
	}
	//SortedSet数据类型
	//存数据
	@Test
	public void sortedSetAddTest() {
		Map<String,Double> scoremem = new HashMap<String, Double>();
		scoremem.put("wd", (double) 88);
		scoremem.put("cm", (double) 87);
		scoremem.put("zz", (double) 90);
		scoremem.put("wzf", (double) 70);
		scoremem.put("xzh", (double) 66);		
		scoremem.put("hgs", (double) 55);
		scoremem.put("hjh", (double) 88);
		scoremem.put("shk", (double) 100);		
		jedis.zadd("roommeets_score", scoremem);
	}
	//sortedSet 遍历
	@Test
	public void scanSortedSet() {
		//正序遍历
		Set<String>  members = jedis.zrange("roommeets_score", 0, -1);
		for(String mem : members) {
			System.out.println("name:"+mem +","+" score:" +jedis.zscore("roommeets_score", mem)+","+" rank:"+(jedis.zrank("roommeets_score", mem)+1));
		}
		System.out.println();
		//正序遍历
		Set<String>  members1 = jedis.zrevrange("roommeets_score", 0, -1);
		for(String mem : members1) {
			System.out.println("name:"+mem +","+" score:" +jedis.zscore("roommeets_score", mem)+","+" rank:"+(jedis.zrevrank("roommeets_score", mem)+1L));
		}
	}
}
class Person{
	String name ;
	int age;
	double weight;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public double getWeight() {
		return weight;
	}
	public void setWeight(double weight) {
		this.weight = weight;
	}
	@Override
	public String toString() {
		return "Person [name=" + name + ", age=" + age + ", weight=" + weight + "]";
	}
	
	
	
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWas sind die allgemeinen API-Operationen von Redis?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage