文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

redis常用api操作有哪些

2024-04-02 19:55

关注

这篇文章主要介绍了redis常用api操作有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

//设置键值对
//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;

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 {

		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 + "]";
	}
	
	
	
}

感谢你能够认真阅读完这篇文章,希望小编分享的“redis常用api操作有哪些”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯