Jedis入门

嗨,这些天我开始研究Redis。 我听说过很多,所以我决定尝试一下。

Redis在其网站上定义为“ 开源高级键值存储”。 它通常被称为数据结构服务器,因为键可以包含字符串,哈希,列表,集合和排序集合

在“ Shades of Gray”博客上,我们可以找到关于Redis最适合的示例。 在本文中,我们将不着重于Redis的特性和功能,我们将快速介绍Java Redis客户端Jedis。 Redis命令Jedis api非常简单易学。

我们可以将Jedis下载到其github存储库( https://github.com/xetorthio/jedis )。 这是一个简单的jar,我们可以将其添加到应用程序中并开始使用它。

下面我们可以看到Jedis api的一个简单示例:

import redis.clients.jedis.Jedis;
public class TestJedis {

public static void main(String[] args) {
  //Connecting to Redis on localhost
  Jedis jedis = new Jedis("localhost");
  //adding a new key
  jedis.set("key", "value");
  //getting the key value
  System.out.println(jedis.get("key"));

 }

}

在上面的示例中,我们创建了与Redis服务器的连接,一旦连接,我们便使用set方法在数据存储上添加了新密钥,该方法将在Redis上调用SET命令。 这样,我们创建了一个名为“ key”的新键,其值为“ value”。一旦有了该键的值,就可以使用get方法获得其值,该方法在Redis上调用GET命令。

一个非常有用的命令是INCR,它会增加一个键值。 我们可以在下面看到使用此命令的示例:

import redis.clients.jedis.Jedis;
public class IncrTest {

public static void main(String[] args) {
 Jedis jedis = new Jedis("localhost");
 System.out.println(jedis.get("counter"));
 jedis.incr("counter");
 System.out.println(jedis.get("counter"));
 }

}

Redis的好用例之一是缓存。 我们可以将其用作缓存系统,这非常有用,因为我们可以通过EXPIRE逗号设置给定密钥的到期时间。 我们也可以使用TTL命令获得密钥的TTL 。 下面我们可以看到Jedis api的示例。

import redis.clients.jedis.Jedis;
public class TestJedis {

public static void main(String[] args) throws InterruptedException {
 String cacheKey = "cachekey";
 Jedis jedis = new Jedis("localhost");
 //adding a new key
 jedis.set(cacheKey, "cached value");
 //setting the TTL in seconds
 jedis.expire(cacheKey, 15);
 //Getting the remaining ttl
 System.out.println("TTL:" + jedis.ttl(cacheKey));
 Thread.sleep(1000);
 System.out.println("TTL:" + jedis.ttl(cacheKey));
 //Getting the cache value
 System.out.println("Cached Value:" + jedis.get(cacheKey));

 //Wait for the TTL finishs
 Thread.sleep(15000);

 //trying to get the expired key
 System.out.println("Expired Key:" + jedis.get(cacheKey));
 }

}

Redis还可以存储其他一些值,如Lists,Hash,set和其他。 下面我们可以看到在Redis中使用Sets的示例。

import redis.clients.jedis.Jedis;
public class TestJedis {

public static void main(String[] args) {
 String cacheKey = "languages";
 Jedis jedis = new Jedis("localhost");
 //Adding a set as value
 jedis.sadd(cacheKey,"Java","C#","Python");//SADD

 //Getting all values in the set: SMEMBERS
 System.out.println("Languages: " + jedis.smembers(cacheKey));
 //Adding new values
 jedis.sadd(cacheKey,"Java","Ruby");
 //Getting the values... it doesn't allow duplicates
 System.out.println("Languages: " + jedis.smembers(cacheKey));

 }

}

Redis还有许多其他用例,本文旨在对Jedis库进行一些介绍。 下篇再见!

参考: 入门Jedis我们JCG伙伴旧金山里贝罗少年在XICO JUNIOR个人网志博客。

翻译自: https://www.javacodegeeks.com/2013/10/getting-started-with-jedis.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值