共計 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 行業資訊頻道,更多相關知識等著你來學習!
正文完