这篇文章主要介绍了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操作有哪些”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!