共计 4621 个字符,预计需要花费 12 分钟才能阅读完成。
这篇文章主要介绍了 redis 常用 api 操作有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。
// 设置键值对
//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);
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 + ]
}
感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“redis 常用 api 操作有哪些”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!
正文完