Redis学习(2)—— 实例与注释说明[转]
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)—— 实例与注释说明[转]的更多相关文章
- Redis学习手册(实例代码)
在之前的博客中已经非常详细的介绍了Redis的各种操作命令.运行机制和服务器初始化参数配置.本篇博客是该系列博客中的最后一篇,在这里将给出基于Redis客户端组件访问并操作Redis服务器的代码示例. ...
- Redis学习之路(007)- Redis学习手册(实例代码)
在之前的博客中已经非常详细的介绍了Redis的各种操作命令.运行机制和服务器初始化参数配置.本篇博客是该系列博客中的最后一篇,在这里将给出基于Redis客户端组件访问并操作Redis服务器的代码示例. ...
- Redis学习手册(目录)
为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...
- Redis学习手册——转载
转载出处:http://www.cnblogs.com/stephen-liu74/archive/2012/04/16/2370212.html 为什么自己当初要选择Redis作为数据存储解决方案中 ...
- Redis学习手册
为什么自己当初要选择Redis作为数据存储解决方案中的一员呢?现在能想到的原因主要有三.其一,Redis不仅性能高效,而且完全免费.其二,是基于C/C++开发的服务器,这里应该有一定的感情因素吧.最后 ...
- Redis——学习之路四(初识主从配置)
首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务 ...
- Redis学习笔记4-Redis配置详解
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件.采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务.按照本Redi ...
- 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...
- Redis学习笔记之ABC
Redis学习笔记之ABC Redis命令速查 官方帮助文档 中文版本1 中文版本2(反应速度比较慢) 基本操作 字符串操作 set key value get key 哈希 HMSET user:1 ...
- 分布式缓存技术redis学习(四)——redis高级应用(集群搭建、集群分区原理、集群操作)
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用( ...
随机推荐
- SharePoint2013切换帐户登录菜单显示
SharePoint2013帐户姓名显示的地方没有切换帐户的菜单,这个功能对于终端用户是可有可无的,但对于sharepoint管理员或sharepoint开发人员来讲,却是一个很重要的菜单,由于经常要 ...
- Tool:Visual Studio
ylbtech-Tool:Visual Studio Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品.VS是一个基本完整的开发工具集,它包括了整个软件生命 ...
- HTML转义字符表
- 加载内核模块-Unknown symbol错误分析
Unknown symbol 说明 有些函数不知道(未定义). 在调试过程中,发现一个问题,编译生成一个KO文件,insmod加载后报错: Unknown symbol var_set_intege ...
- 通过TortoiseGit来使用Github或Visual Studio Online版本控制管理
一.前言 关于Git源码不再多阐述,它就是一款开源分布式版本控制工具,它在源码管理领土上目前为止,使用者比例很大,越来越多的人使用该工具来管理项目源码,且相当多的开源的项目都移步到Github中,如: ...
- python 之 functools模块
functools模块用于高阶函数:作用于或返回其他函数的函数.一般而言,任何可调用对象都可以作为本模块用途的函数来处理. 官方文档已经有了详尽的介绍,这里就不在复述,详情请见:官方文档 .这里主要介 ...
- angularJs中的发送请求例子
$http({ //发送请求 url: 'http://localhost:8080/teacher/api/login', method: 'post', data: obj }) .success ...
- 为什么 ReactJS 不适合复杂的前端项目?
问题一:ReactJS组件难以在复杂交互页面中复用 ReactJS中的最小复用单位是组件.ReactJS的组件比AngularJS的Controller和View 要轻量些. 每个组件只需要前端开发者 ...
- ISIS与OSPF的区别与联系
共同之处: 1 都是链路状态路由协议,都要求区域内的路由器交换链路状态信息,链路状态信息被收集到链路状态数据库中 2 都是用了一种实现路由选择信息交换相似机制 3 都在广播网络中选择指定路由器来控制扩 ...
- 使用C#书写SQLite数据库增删改查语句(以及插入byte[]时遇到的问题总结)
在没有使用SQLite这种轻量级的数据库之前,只使用过Sqlserver2008进行数据的增删改查,公司使用的是大型的ORACLE数据库,还没有真正的会使用它.那时候觉得数据库很庞大,然而遇到SQLi ...