import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set; import redis.clients.jedis.Jedis;
/**
* @author wangzhijun
* @date 2013-04-01
*/ public class RedisTest { /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
// 字符串测试 //[key,value]=["wl_str","jedis test ..."]
Jedis jedis = new Jedis("localhost");
jedis.set("wl_str", "jedis test ...");
String x = jedis.get("wl_str");
System.out.println(x);
// 列表 list 主要命令有两个LPUSH,RPUSH。L代表左,R代表右
jedis.rpush("wl_list", "疑是地上霜");
jedis.rpush("wl_list", "举头望明月");
jedis.rpush("wl_list", "低头思故乡");
jedis.lpush("wl_list", "床前明月光");
List<String> values = jedis.lrange("wl_list", 0, -1); //LRANGE用来获取子列表。第一个元素的索引为0。-1,表示列表末尾,-2表示列表倒数第二个
System.out.println(values);
// 集合 Set(无序) SADD命令可以向集合添加一个新元素
jedis.sadd("wl_set", "1");
jedis.sadd("wl_set", "2");
jedis.sadd("wl_set", "3");
jedis.sadd("wl_set", "4");
Set<String> setValues = jedis.smembers("wl_set"); //SMEMEBER命令获取集合里的元素
System.out.println(setValues);
// 有序集合 Sorted Set
jedis.zadd("wl_sortedSet", 1940, "1940-购置房屋");
jedis.zadd("wl_sortedSet", 1953, "1953-购置汽车");
jedis.zadd("wl_sortedSet", 1965, "1965-发明专利");
jedis.zadd("wl_sortedSet", 1916, "1916-上小学");
jedis.zadd("wl_sortedSet", 1969, "1969-获得诺贝尔");
jedis.zadd("wl_sortedSet", 1912, "1912-出生");
Set<String> sortedSetValues = jedis.zrange("wl_sortedSet", 0, -1);//按照年份排序
System.out.println("由年份从老到新排序");
System.out.println(sortedSetValues);
System.out.println("由年份从新到老排序");
sortedSetValues=null;
sortedSetValues=jedis.zrevrange("wl_sortedSet", 0, -1);
System.out.println(sortedSetValues);
//哈希表 Hash 主要用于批量修改和获取
Map<String, String> pairs = new HashMap<String, String>();
pairs.put("name", "克瑞斯");
pairs.put("age", "20");
pairs.put("sex", "男");
jedis.hmset("young", pairs); //设置hash的值
values = jedis.hmget("young", new String[] { "name", "age", "sex" });
System.out.println(values);
setValues = jedis.hkeys("young"); //获取young变量里面的标签 name、age和sex
System.out.println(setValues);
values = jedis.hvals("young"); //获取young变量里面的标签 name、age和sex所对应的值
System.out.println(values);
pairs = jedis.hgetAll("young"); //
System.out.println(pairs);
} }

输出结果如下:

jedis test ...
[床前明月光, 疑是地上霜, 举头望明月, 低头思故乡]
[3, 2, 1, 4]
由年份从老到新排序
[1912-出生, 1916-上小学, 1940-购置房屋, 1953-购置汽车, 1965-发明专利, 1969-获得诺贝尔]
由年份从新到老排序
[1969-获得诺贝尔, 1965-发明专利, 1953-购置汽车, 1940-购置房屋, 1916-上小学, 1912-出生]
[克瑞斯, 20, 男]
[sex, name, age]
[20, 克瑞斯, 男]
{sex=男, name=克瑞斯, age=20}

若要运行本程序,需要下载jar包(jedis-2.1.0.jar),具体位置:https://github.com/xetorthio/jedis/downloads

redis命令使用大全网站:http://redis.readthedocs.org/en/latest/index.html

http://redis.readthedocs.org/en/2.4/

Redis学习(2)—— 实例与注释说明[转]的更多相关文章

  1. Redis学习手册(实例代码)

    在之前的博客中已经非常详细的介绍了Redis的各种操作命令.运行机制和服务器初始化参数配置.本篇博客是该系列博客中的最后一篇,在这里将给出基于Redis客户端组件访问并操作Redis服务器的代码示例. ...

  2. Redis学习之路(007)- Redis学习手册(实例代码)

    在之前的博客中已经非常详细的介绍了Redis的各种操作命令.运行机制和服务器初始化参数配置.本篇博客是该系列博客中的最后一篇,在这里将给出基于Redis客户端组件访问并操作Redis服务器的代码示例. ...

  3. Redis学习手册(目录)

    为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...

  4. Redis学习手册——转载

    转载出处:http://www.cnblogs.com/stephen-liu74/archive/2012/04/16/2370212.html 为什么自己当初要选择Redis作为数据存储解决方案中 ...

  5. Redis学习手册

    为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...

  6. Redis——学习之路四(初识主从配置)

    首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...

  7. Redis学习笔记4-Redis配置详解

    在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server   xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...

  8. 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

  9. Redis学习笔记之ABC

    Redis学习笔记之ABC Redis命令速查 官方帮助文档 中文版本1 中文版本2(反应速度比较慢) 基本操作 字符串操作 set key value get key 哈希 HMSET user:1 ...

  10. 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)

    本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...

随机推荐

  1. MOSS 2013研究系列---Win2008R2 建立域控时候,报密码不符合要求解决办法

    今天远程给Win2008R2装AD域控的时候,突然报如下的错误页面: 修改了密码,将密码强度设置复杂了,但是,仍然会弹出这个错误页面,估计是因为远程账号的关系,于是再网上搜下了一下,找到了一个解决方案 ...

  2. 机器学习(Machine Learning)&深度学习(Deep Learning)资料(下)

    转载:http://www.jianshu.com/p/b73b6953e849 该资源的github地址:Qix <Statistical foundations of machine lea ...

  3. Spring AOP两种实现方式

    一. AOP 概念: Spring AOP 即Aspect Oriented Programming(面向切面编程), 实现方式分为两种: 1. 注解(Annotation) 2. 配置(Config ...

  4. Java Array 方法和使用

    1.Arrays.toString():数组转字符串 格式:Arrays.toString(数组名) 将数组转化成字符串,此时输出的结果是字符串类型. import java.util.Arrays; ...

  5. Thread之六:线程创建方法

    1.继承Thread类,重写该类的run()方法. 2.实现Runnable接口,并重写该接口的run()方法,该run()方法同样是线程执行体,创建Runnable实现类的实例,并以此实例作为Thr ...

  6. 20181122_C#中AOP_使用Unity实现AOP

    一.   使用Unity的AOP实现 a)         整体项目截图: b) 添加Unity的Nuget包, 直接使用最新版就行, 需要添加两个 Unity 和 Unity.Interceptio ...

  7. 前段基础之HTML

    HTML 初识 web服务本质 import socket def main(): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s ...

  8. 华为交换机S5700 vty 0 4

    最佳答案   vty 0 4 代表有5条VTY线路 由0到4 这个要看设备的版本有的设备会有更多条VTY线路比如一些企业版的设备 显示用户界面 进入TELNET 设置模式 user-interface ...

  9. 【转】C#调用java类、jar包方法

    原文地址:http://blog.csdn.net/black0707/article/details/5769366 一.将已经编译后的java中Class文件进行打包:打包命令JAR 如:将某目录 ...

  10. springcloud(三) eureka集群

    上一节讲到user微服务和order微服务和eureka注册中心一起使用,那么问题来了如何注册中心挂了怎么办?ok, 注册中心集群就来了. 原理图: 注意euraka 之间是通过复制(replicat ...