redis中的数据结构基本的操作

原创 2015年11月21日 11:39:33

复习一下redis中的各个数据结构的基本操作

当然后首先要引入redis的包

package com.jedis;

import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;


public class JedisUtil {
private JedisPool jedisPool;
private Jedis jedis;

public JedisUtil() {
jedisPool = new JedisPool(new JedisPoolConfig(), "127.0.0.1");
jedis = jedisPool.getResource();
}

public Jedis getJedis() {
return this.jedis;
}


public static void main(String[] args) {
// manipulate String crud
JedisUtil jedisUtil = new JedisUtil();
Jedis jedis = jedisUtil.getJedis();
jedis.set("hello", "world");
System.out.println(jedis.get("hello"));
jedis.append("hello", " hello world!");
System.out.println(jedis.get("hello"));
jedis.set("hello", "hello");
System.out.println(jedis.get("hello"));
jedis.del("hello");
System.out.println(jedis.get("hello"));


// manpulate map
Map<String, String> map = new HashMap<String, String>();
map.put("a", "1");
map.put("b", "2");
map.put("c", "3");
jedis.hmset("user", map);
System.out.println(jedis.hmget("user", "a", "b", "c"));
// the result is generic type list
List<String> list = jedis.hmget("user", "a", "b", "c");
System.out.println(list.size());
// delet a key-value
jedis.hdel("user", "a");
System.out.println(jedis.hmget("user", "a"));// null
System.out.println(jedis.hlen("user"));// 2
System.out.println(jedis.exists("user"));// true
System.out.println(jedis.hkeys("user"));
Set<String> keys = jedis.hkeys("user");
for (String string : keys) {
System.out.println(string);
}
System.out.println(jedis.hvals("user"));
List<String> vals = jedis.hvals("user");
for (String string : vals) {
System.out.println(string);
}


// manipulate list
jedis.del("fruits");
System.out.println(jedis.lrange("fruits", 0, -1));
jedis.lpush("fruits", "apple");
jedis.lpush("fruits", "banana");
jedis.lpush("fruits", "orange");
System.out.println(jedis.lrange("fruits", 0, -1));
// manipulate set
jedis.sadd("sname", "jack", "tom", "rose");
System.out.println(jedis.smembers("sname"));
Set<String> smembers = jedis.smembers("sname");// return a set
// remove a value
// jedis.srem("sname", "jack");
System.out.println(jedis.smembers("sname"));
// value is a member of set
System.out.println(jedis.sismember("sname", "jack"));// false
// return a random element from a Set
System.out.println(jedis.srandmember("sname"));
// return the set cardinality(number of the elements)
System.out.println(jedis.scard("sname"));


// others
System.out.println(jedis.keys("*"));
System.out.println(jedis.keys("*name"));
// System.out.println(jedis.del("sname"));
System.out.println(jedis.del("ssname"));
/*
* The TTL command returns the remaining time to live in seconds of a
* key that has an EXPIRE set. This introspection capability allows a
* Redis client to check how many seconds a given key will continue to
* be part of the dataset.
* Integer reply, returns the remaining time to
* live in seconds of a key that has an EXPIRE. If the Key does not
* exists or does not have an associated expire, -1 is returned
*/
System.out.println(jedis.ttl("sname"));
jedis.setex("timekey", 8, "min");//set the expirtation of the key
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(jedis.ttl("timekey"));//3
jedis.setex("timekey", 1, "min");
System.out.println(jedis.ttl("timekey"));
System.out.println(jedis.exists("time"));
System.out.println(jedis.rename("timekey", "time"));
System.out.println(jedis.get("timekey"));
System.out.println(jedis.get("time"));
//jedis sort
jedis.del("arr");
jedis.rpush("arr", "3");
jedis.lpush("arr", "2");
jedis.lpush("arr", "4");
jedis.lpush("arr", "1");
System.out.println(jedis.lrange("arr", 0, -1));
System.out.println(jedis.sort("arr"));
System.out.println(jedis.lrange("arr", 0, -1));
}
}

Redis(2)- 基本数据结构和操作

Redis的一个特点就是处理基本字符串,还支持多种数据结构,包括Hash,List,Set,SortedSet。本章主要介绍Redis的数据结构和基本操作,并给出一些典型的使用场景。感谢《Redis ...

c语言数据结构栈的基本操作

  • 2012年06月03日 21:26
  • 3KB
  • 下载

Redis源码学习4-基本数据结构之字典

[-] Redis基本数据结构-字典 字典概念相关函数 创建字典添加键值对到字典获取元素值 其他参考资料 Redis基本数据结构-字典   1、字典概念 ...

Redis源码学习3-基本数据结构之双向链表

1楔子 双向链表为redis列表类型的实现方法之一,列表类型实现除了用到双向链表,还有压缩列表。因为双向链表占用内存较多,所以redis优先采用压缩列表来实现自己的列表类型。压缩列表后续分析,先看看双...

数据结构-串的基本操作的实现

  • 2017年02月19日 15:29
  • 3KB
  • 下载

Redis源码学习1——基本数据结构sds

[-] sdshdr结构sdsnew构建字符串sdscatsds 字符串扩展sdsclear 清除 最近好几次用到redis,但是一直没有时间来好好学习下redis的原理,打算...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:redis中的数据结构基本的操作
举报原因:
原因补充:

(最多只允许输入30个字)