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. Linux 准确查找结构体定义位置

    例如:查找文件操作结构体 struct file_operations, 使用转移符 "\" $ grep struct\ file_operations\ { kernel/in ...

  2. 【yii2从Apache迁移到nginx上访问报500错误】

    [yii2从Apache迁移到nginx上访问报500错误] 今天迁移yii2项目从Apache到nginx,出现了几个小问题,记录一下 index.php 加上 error_reporting(E_ ...

  3. xunsearch安装及环境检测(一)

    1.运行执行下载解压安装包wget http://www.xunsearch.com/download/xunsearch-full-latest.tar.bz2解压到指定目录 tar -xjf xu ...

  4. Unit06: Spring对JDBC的 整合支持 、 Spring+JDBC Template、Spring异常处理

    Unit06: Spring对JDBC的 整合支持 . Spring+JDBC Template .Spring异常处理 1. springmvc提供的异常处理机制 我们可以将异常抛给spring框架 ...

  5. 黄聪:WordPress默认编辑器可视化切换不见了,非插件导致消失问题

    1.后台---用户---我的个人资料 2.看看 [可视化编辑器]的[撰写文章时不使用可视化编辑器]项目是不是勾上了 3.去掉保存即可

  6. java封装后引用的例子

    封装好的文件: 另外一个文件引用封装文件的方法: 来源: https://www.runoob.com/java/java-encapsulation.html

  7. linux 文件权限详细说明

    在本章前部,当你试图转换到根用户的登录目录时,你收到了以下消息: cd /root bash: /root: Permission denied 这是 Linux 安全功能的一个演示.Linux 和 ...

  8. Maven assembly插件进行自定义构建

    众所周知,Maven是一个约定优于配置的java构建工具,通常我们只需要定义非常少的内容,就可以根据package标签属性来构建生成的jar, war包的相关内容. 如果想要对maven中依赖的内容一 ...

  9. eclipse安装使用注意点

    1.eclipse tomcat集成找不到server http://blog.csdn.net/wugangsunny/article/details/25246565 2.Eclipse java ...

  10. Storm概念理解

    组成: Topology是Storm里的最高抽象概念,相当于Hadoop里的MapReduce,Topology(流转换图)由Spouts和Bolts组成.Spout创建Stream,Stream由无 ...