Jedis 是 Redis 官方首选的 Java 客户端开发包 (redis的java版本的客户端实现)

#MAVEN配置

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>

#JAVA代码

package yyl.example.demo.redis;
import java.util.HashMap;
import java.util.Map;
import redis.clients.jedis.Jedis; /**
* Jedis 常用方法用法
*/
public class JedisTest { public static void main(String[] args) {
Jedis jedis = new Jedis("localhost", 6379);
//jedis.auth("admin"); testString(jedis);
testHash(jedis);
testList(jedis);
testSet(jedis);
testZSet(jedis); testCommands(jedis); jedis.disconnect();
} /** 字符串 */
private static void testString(Jedis jedis) { System.out.println("#string:"); //# SET key "hello"
System.out.println("> SET key \"hello\"");
System.out.println(jedis.set("key", "hello")); //# GET key
System.out.println("> GET key");
System.out.println(jedis.get("key")); System.out.println("> APPEND key \" world\"");
System.out.println(jedis.append("key", " world")); //拼接
System.out.println("> GET key");
System.out.println(jedis.get("key")); //删除某个键 #DEL key [key ...]
System.out.println("> DEL key");
System.out.println(jedis.del("key")); //删除某个键
System.out.println("> GET key");
System.out.println(jedis.get("key")); //设置多个键值
//#MSET key1 "Hello" key2 "World"
System.out.println("> MSET key1 \"Hello\" key2 \"World\"");
System.out.println(jedis.mset("key1", "hello", "key2", "World")); System.out.println("> GET key1");
System.out.println(jedis.get("key1"));
System.out.println("> GET key2");
System.out.println(jedis.get("key2")); //删除一组键 #DEL key1 key2
System.out.println("> DEL key1 key2");
System.out.println(jedis.del("key1", "key2"));
System.out.println(jedis.get("key2")); System.out.println("\n");
} /** 哈希 */
private static void testHash(Jedis jedis) { System.out.println("#hash:"); System.out.println("> HMSET myhash field1 \"Hello\" field2 \"World\"");
Map<String, String> map = new HashMap<String, String>();
map.put("field1", "Hello");
map.put("field2", "World");
System.out.println(jedis.hmset("myhash", map)); System.out.println("> HMGET myhash field1 field2");
System.out.println(jedis.hmget("myhash", "field1", "field2")); //返回 key 指定的哈希集中所有的字段和值。
System.out.println("> HGETALL myhash");
System.out.println(jedis.hgetAll("myhash")); //删除map中的某个键值
System.out.println("> HDEL myhash field1");
System.out.println(jedis.hdel("myhash", "field1"));
System.out.println("> HDEL myhash field1");
System.out.println(jedis.hdel("myhash", "field1")); //返回 key 指定的哈希集包含的字段的数量
System.out.println("> HLEN myhash");
System.out.println(jedis.hlen("myhash")); //设置 key 指定的哈希集中指定字段的值
System.out.println("> HSET myhash field1 \"Hello\"");
System.out.println(jedis.hset("myhash", "field1", "Hello"));
System.out.println("> HGET myhash field1");
System.out.println(jedis.hget("myhash", "field1")); //返回指定的哈希集中所有字段的名字
System.out.println("> HKEYS myhash");
System.out.println(jedis.hkeys("myhash")); //移除哈希
jedis.del("myhash");
System.out.println("\n");
} /** 列表 */
private static void testList(Jedis jedis) { System.out.println("#list:"); //将所有指定的值插入到存于 key 的列表的头部
//如果 key 不存在,那么在进行 push 操作前会创建一个空列表
//如果 key 对应的值不是一个 list 的话,那么会抛出异常
System.out.println("> HKEYS myhash");
System.out.println(jedis.lpush("mylist", "hello"));
System.out.println(jedis.lpush("mylist", "world")); //返回存储在列表里指定范围内的元素
//(偏移量也可以是负数,表示偏移量是从list尾部开始计数。 例如, -1 表示列表的最后一个元素,-2 是倒数第二个,以此类推)
System.out.println("> LRANGE mylist 0 -1");
System.out.println(jedis.lrange("mylist", 0, -1)); System.out.println("> DEL mylist");
System.out.println(jedis.del("mylist")); //向存于 key 的列表的尾部插入所有指定的值
System.out.println("> RPUSH mylist \"1\" \"2\" \"3\" \"4\" \"5\"");
System.out.println(jedis.rpush("mylist", "1", "2", "3", "4", "5")); //移除并且返回list的第一个元素
System.out.println("> LPOP mylist");
System.out.println(jedis.lpop("mylist"));
System.out.println("> LPOP mylist");
System.out.println(jedis.lpop("mylist")); //返回存储在 key 里的list的长度
System.out.println("> LLEN mylist");
System.out.println(jedis.llen("mylist")); //移除列表
jedis.del("mylist");
System.out.println("\n");
} /** 集合 */
private static void testSet(Jedis jedis) { System.out.println("#set:"); //添加元素
System.out.println("> SADD myset \"Hello\"");
System.out.println(jedis.sadd("myset", "Hello"));
System.out.println("> SADD myset \"World\"");
System.out.println(jedis.sadd("myset", "World"));
System.out.println("> SADD myset \"World\"");
System.out.println(jedis.sadd("myset", "World")); //获取集合成员(元素)
System.out.println("> SMEMBERS myset");
System.out.println(jedis.smembers("myset")); //移除集合
jedis.del("myset");
System.out.println("\n");
} /** 有序集合 */
private static void testZSet(Jedis jedis) {
System.out.println("#zset:"); System.out.println("> ZADD myzset 3 \"three\"");
System.out.println(jedis.zadd("myzset", 3, "three")); System.out.println("> ZADD myzset 1 \"two\"");
System.out.println(jedis.zadd("myzset", 2, "two")); System.out.println("> ZADD myzset 1 \"one\" 1 \"uno\"");
Map<String, Double> scoreMembers = new HashMap<>();
scoreMembers.put("one", 1D);
scoreMembers.put("uno", 1D);
System.out.println(jedis.zadd("myzset", scoreMembers)); System.out.println("> ZRANGE myzset 0 -1");
System.out.println(jedis.zrange("myzset", 0, -1)); //移除集合
jedis.del("myzset");
System.out.println("\n");
} /** 其他常用操作 */
private static void testCommands(Jedis jedis) { System.out.println("#COMMANDS:"); //# 返回key所存储的value的数据结构类型
System.out.println("> SET key1 \"value\"");
System.out.println(jedis.set("key1", "value"));
System.out.println("> HSET key2 field \"value\"");
System.out.println(jedis.hset("key2", "field", "value"));
System.out.println("> LPUSH key3 \"value\"");
System.out.println(jedis.lpush("key3", "value"));
System.out.println("> SADD key4 \"value\"");
System.out.println(jedis.sadd("key4", "value"));
System.out.println("> ZADD key5 \"value\"");
System.out.println(jedis.zadd("key5", 0, "value")); //type可以返回string, list, set, zset , hash, none 等不同的类型。
System.out.println("> TYPE key1");
System.out.println(jedis.type("key1"));
System.out.println("> TYPE key2");
System.out.println(jedis.type("key2"));
System.out.println("> TYPE key3");
System.out.println(jedis.type("key3"));
System.out.println("> TYPE key4");
System.out.println(jedis.type("key4"));
System.out.println("> TYPE key5");
System.out.println(jedis.type("key5"));
System.out.println("> TYPE key6");
System.out.println(jedis.type("key6"));//不存在时返回none System.out.println("\n");
//设置超时时间
System.out.println("> SET mykey \"hello\"");
System.out.println(jedis.set("mykey", "hello")); //设置超时时间(单位:秒)
System.out.println("> EXPIRE mykey 2 ");
System.out.println(jedis.expire("mykey", 2));//[EXPIRE key seconds] //返回key剩余的过期时间(单位:秒)
System.out.println("> TTL mykey ");
System.out.println(jedis.ttl("mykey")); //返回key剩余的过期时间(单位:毫秒)
System.out.println("> PTTL mykey ");
System.out.println(jedis.pttl("mykey")); System.out.println("> EXISTS mykey ");
System.out.println(jedis.exists("mykey")); System.out.println("# sleep 2000 Millisecond!");
try {
Thread.sleep(2 * 1000);
} catch (InterruptedException e) {
} System.out.println("> EXISTS mykey ");
System.out.println(jedis.exists("mykey")); //移除
jedis.del("mykey", "key1", "key2", "key3", "key4", "key5");
System.out.println("\n");
}
}

Redis JAVA客户端 Jedis常用方法的更多相关文章

  1. 【转载】Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍

    转载地址:http://blog.csdn.net/truong/article/details/46711045 关键字:Redis的Java客户端Jedis的八种调用方式(事务.管道.分布式…)介 ...

  2. Redis(九):Redis的Java客户端Jedis

    Redis的Java客户端Jedis导航目录: 安装JDK 安装Eclipse Jedis所需要的Jar包 Jedis常用操作 JedisPool 安装JDK tar -zxvf jdk-7u67-l ...

  3. 9.Redis的Java客户端Jedis

    Redis的Java客户端Jedis Jedis所需jar包   commons-pool-1.6.jar jedis-2.1.0.jar 1.Jedis常用操作(jedis中的api 和 我们在 l ...

  4. Redis java client ==> Jedis

    https://github.com/xetorthio/jedis Jedis is a blazingly small and sane Redis java client. Jedis was ...

  5. Redis的客户端Jedis

    1. Redis支持消息的订阅与发布 Redis的消息订阅支持:先订阅后发布 订阅:subscribe c1 c2 发布:publish c2 hello-redis 支持通配符的订阅:psubscr ...

  6. Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍

    jedis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务.管道及有jedis自身实现的分布式. 在这里对jedis关于事务.管道和分布式 ...

  7. 使用Redis的Java客户端Jedis

    转载自:http://aofengblog.blog.163.com/blog/static/631702120147298317919/ 前一篇文章<Redis命令指南>讲解了通过命令行 ...

  8. [转载] 使用Redis的Java客户端Jedis

    转载自http://aofengblog.blog.163.com/blog/static/631702120147298317919/ 在实际的项目开发中,各种语言是使用Redis的客户端库来与Re ...

  9. Java客户端Jedis的八种调用方式

      redis是一个著名的key-value存储系统,而作为其官方推荐的java版客户端jedis也非常强大和稳定,支持事务.管道及有jedis自身实现的分布式. 在这里对jedis关于事务.管道和分 ...

随机推荐

  1. Linux专家心目中的最佳Linux发行版有哪些?

    坦率地说,我对Linux桌面的关注程度多于对Linux发行版的关注.在我看来,桌面环境是创新不断的领域.我认为,如果某个发行版呼吁关注自己,可能哪里出了岔子.不过,有一些Linux发行版还是我青睐的. ...

  2. [转] windows下sublime2 安装破解(key可用)

    转: http://jingyan.baidu.com/article/ff4116259b057c12e48237b8.html Sublime Text 2安装汉化破解.插件包安装教程 | 浏览: ...

  3. Framework元数据向导错误之BMT-MD-6001与BMT-IMP-0002

    1:错误BMT-MD-6001的两种处理方法 在Framework中创建Project后,运行元数据向导从数据库连接中向物理层导入数据表,报错如下 环境如下:Framework版本:10.2.0,Co ...

  4. Android 使用ORMLite 操作数据库

    参考:http://blog.csdn.net/cjjky/article/details/7096987 ormlite 方法查询:http://ormlite.com/javadoc/ormlit ...

  5. vue常用属性解释。

    props:详看 示例-网格组件. props 可以是数组或对象,用于接收来自父组件的数据.props 可以是简单的数组,或者使用对象作为替代,对象允许配置高级选项,如类型检测.自定义校验和设置默认值 ...

  6. windows curl ssl版本号编译

    编译curl-ssl版本号碰到非常多坑,这里记录一下.亲手測试,注意版本号号!! ! !. 1.下载  curl-7.43.0  libssh2-1.3.0  openssl-1.0.0s   Act ...

  7. OpenJudge百炼习题解答(C++)--题4010:2011

    题: 总时间限制:  1000ms  内存限制:  65536kB 描写叙述 已知长度最大为200位的正整数n.请求出2011^n的后四位. 输入 第一行为一个正整数k,代表有k组数据,k<=2 ...

  8. Python 倒叙切片

    倒序切片 对于list,既然Python支持L[-1]取倒数第一个元素,那么它同样支持倒数切片,试试: >>> L = ['Adam', 'Lisa', 'Bart', 'Paul' ...

  9. Android系统源代码学习步骤

    目前,互联网行业正在朝着移动互联网方向强劲地发展,而移动互联网的发展离不开背后的移动平台的支撑.众所周知,如今在移动平台市场上,苹果的iOS.谷歌的Android和微软的Windows Phone系统 ...

  10. T-sql 根据日期时间 按年份、月份、天来统计

    看统计结果: 这里利用的是convert函数,这里不得不说一下convert函数 CONVERT() 函数是把日期转换为新数据类型的通用函数. CONVERT() 函数可以用不同的格式显示日期/时间数 ...