Home > Database > Redis > body text

What are the common API operations of redis?

WBOY
Release: 2023-05-26 19:07:22
forward
1612 people have browsed it
//设置键值对
//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 + "]";
	}
	
	
	
}
Copy after login

The above is the detailed content of What are the common API operations of redis?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!