1 redis在centos上的安装

http://www.cnblogs.com/hanyinglong/p/5036558.html

2 redis在windows上的可视化GUI工具

https://redisdesktop.com/download

3 redis的中文官网 介绍很详细

http://www.redis.cn/

基本上这3个站点就能把redis跑起来。

redis在java上的使用

1是使用Jedis,类似JDBC,对相关连接进行了封装,相关的api还算友好,刚开始学习用这个就够了。

2Spring-Data-Redis提供的redisTemplate进行操作,提供了很多很强大的封装

http://projects.spring.io/spring-data-redis/

3进阶使用的内容就是redis集群相关内容,暂时没接触


 package com.test;

 import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;

 import org.junit.Before;
 import org.junit.Test;

 import redis.clients.jedis.Jedis;

 public class TestRedis {
     private Jedis jedis; 

     @Before
     public void setup() {
         //连接redis服务器,192.168.0.100:6379
         jedis = new Jedis("192.168.0.100", 6379);
         //权限认证
         jedis.auth("admin");
     }

     /**
      * redis存储字符串
      */
     @Test
     public void testString() {
         //-----添加数据----------
         jedis.set("name","xinxin");//向key-->name中放入了value-->xinxin
         System.out.println(jedis.get("name"));//执行结果:xinxin  

         jedis.append("name", " is my lover"); //拼接
         System.out.println(jedis.get("name")); 

         jedis.del("name");  //删除某个键
         System.out.println(jedis.get("name"));
         //设置多个键值对
         jedis.mset("name","liuling","age","23","qq","476777XXX");
         jedis.incr("age"); //进行加1操作
         System.out.println(jedis.get("name") + "-" + jedis.get("age") + "-" + jedis.get("qq"));

     }

     /**
      * redis操作Map
      */
     @Test
     public void testMap() {
         //-----添加数据----------
         Map<String, String> map = new HashMap<String, String>();
         map.put("name", "xinxin");
         map.put("age", "22");
         map.put("qq", "123456");
         jedis.hmset("user",map);
         //取出user中的name,执行结果:[minxr]-->注意结果是一个泛型的List
         //第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数
         List<String> rsmap = jedis.hmget("user", "name", "age", "qq");
         System.out.println(rsmap);  

         //删除map中的某个键值
         jedis.hdel("user","age");
         System.out.println(jedis.hmget("user", "age")); //因为删除了,所以返回的是null
         System.out.println(jedis.hlen("user")); //返回key为user的键中存放的值的个数2
         System.out.println(jedis.exists("user"));//是否存在key为user的记录 返回true
         System.out.println(jedis.hkeys("user"));//返回map对象中的所有key
         System.out.println(jedis.hvals("user"));//返回map对象中的所有value 

         Iterator<String> iter=jedis.hkeys("user").iterator();
         while (iter.hasNext()){
             String key = iter.next();
             System.out.println(key+":"+jedis.hmget("user",key));
         }
     }

     /**
      * jedis操作List
      */
     @Test
     public void testList(){
         //开始前,先移除所有的内容
         jedis.del("java framework");
         System.out.println(jedis.lrange("java framework",0,-1));
         //先向key java framework中存放三条数据
         jedis.lpush("java framework","spring");
         jedis.lpush("java framework","struts");
         jedis.lpush("java framework","hibernate");
         //再取出所有数据jedis.lrange是按范围取出,
         // 第一个是key,第二个是起始位置,第三个是结束位置,jedis.llen获取长度 -1表示取得所有
         System.out.println(jedis.lrange("java framework",0,-1));  

         jedis.del("java framework");
         jedis.rpush("java framework","spring");
         jedis.rpush("java framework","struts");
         jedis.rpush("java framework","hibernate");
         System.out.println(jedis.lrange("java framework",0,-1));
     }  

     /**
      * jedis操作Set
      */
     @Test
     public void testSet(){
         //添加
         jedis.sadd("user","liuling");
         jedis.sadd("user","xinxin");
         jedis.sadd("user","ling");
         jedis.sadd("user","zhangxinxin");
         jedis.sadd("user","who");
         //移除noname
         jedis.srem("user","who");
         System.out.println(jedis.smembers("user"));//获取所有加入的value
         System.out.println(jedis.sismember("user", "who"));//判断 who 是否是user集合的元素
         System.out.println(jedis.srandmember("user"));
         System.out.println(jedis.scard("user"));//返回集合的元素个数
     }  

     @Test
     public void test() throws InterruptedException {
         //jedis 排序
         //注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)
         jedis.del("a");//先清除数据,再加入数据进行测试
         jedis.rpush("a", "1");
         jedis.lpush("a","6");
         jedis.lpush("a","3");
         jedis.lpush("a","9");
         System.out.println(jedis.lrange("a",0,-1));// [9, 3, 6, 1]
         System.out.println(jedis.sort("a")); //[1, 3, 6, 9]  //输入排序后结果
         System.out.println(jedis.lrange("a",0,-1));
     }  

     @Test
     public void testRedisPool() {
         RedisUtil.getJedis().set("newname", "中文测试");
         System.out.println(RedisUtil.getJedis().get("newname"));
     }
 }

使用jedis

Redis使用记录-相关资料汇总的更多相关文章

  1. 合宙模块AT相关资料汇总

    1. 目录 1. 目录 [2. 新手教程](#2. 新手教程) [3. 产品资料](#3. 产品资料) 3.1 [2G模块(GPRS / GPRS+GNSS)](#3.1 2G模块(GPRS / GP ...

  2. 合宙模块LUA相关资料汇总

    1. 目录 1. 目录 [2. LUA二次开发](#2. LUA二次开发) 2.1 [新手教程](#2.1 新手教程) 2.2 [进阶教程](#2.2 进阶教程) 2.3 [LUA开发环境](#2.3 ...

  3. 阿里开源项目 druid 相关资料汇总

    项目发起人访谈:http://www.iteye.com/magazines/90 github主页:https://github.com/alibaba/druid druid 项目,我想我能用很短 ...

  4. USB相关资料汇总

    [1]USB规范,一切的一切,基本的基本,天书级别USB_11_spec(中文).pdf    USB1.1规范(中文版) usb_20.pdf                     USB2.0规 ...

  5. windows下使用apache相关资料汇总

    1.Apache httpd.conf配置详解 https://www.cnblogs.com/langren1992/p/5160912.html 2.windows下使用apache经验总结 ht ...

  6. GPU相关资料汇总

    qemu, quick emulator systemc xilinx qemu nvdla, nvidia deep learning accelerator gpgpu-sim ffgpu ope ...

  7. Redis资料汇总(转)

    原文:Redis资料汇总专题 很多朋友反映,说NoSQLFan上的资料不少,但是要找到自己实用的太难,于是萌生做这样一个专题的想法.通过将不同NoSQL产品从入门到精通的各种资料进行汇总,希望能够让大 ...

  8. redis学习资料汇总

    redis学习资料汇总 2017年01月07日 22:10:37 阅读数:281 转载:http://blog.csdn.net/wtyvhreal/article/details/50427627 ...

  9. 转:基于IOS上MDM技术相关资料整理及汇总

    一.MDM相关知识: MDM (Mobile Device Management ),即移动设备管理.在21世纪的今天,数据是企业宝贵的资产,安全问题更是重中之重,在移动互联网时代,员工个人的设备接入 ...

随机推荐

  1. MySQL5.6.36 linux rpm包安装配置文档

    一.卸载自带mysql,删除MySQL的lib库,服务文件 [root@localhost ~]#rpm -qa|grep mysql qt-mysql-4.6.2-26.el6_4.x86_64 m ...

  2. 解决无线网络连接出现黄色感叹号---win10

    今天使用公司的电脑,这个电脑是另一位同事用过的,然后到我这里就连不上网了.然后把自己解决的方法记录一下: 开始运行输入以下命令来重置IP. 打开运行输入:cmd 在命令窗口中输入:ipconfig / ...

  3. android - gradle编译错误 exit value 1,2,3总结

    在使用jenkins,使用gradle编译的时候总会出现一些问题,下面是几个常见问题的解决方法. 被编译的代码或资源有问题( finished with non-zero exit value 1): ...

  4. 安装harbor私有镜像仓库

    有朋友安装harbor的过程中遇到很多问题,为此写一篇最简单安装harbor的文档,希望能帮助所有刚开始接触harbor的新手.harbor的架构不做探究. 实验验环境:os --> cento ...

  5. vue.js使用props在父子组件之间传参

    本篇文章是我参考官方文档整理的,供大家参考,高手勿喷! prop 组件实例的作用域是孤立的.这意味着不能 (也不应该) 在子组件的模板内直接引用父组件的数据.要让子组件使用父组件的数据,我们需要通过子 ...

  6. 有关java调用批处理文件

    1 例子 java调用批处理文件 public class RunJarBat { public static void runJarBat() { // 调用控制台 Runtime rt = Run ...

  7. Entity Framework Core 执行SQL语句和存储过程

    无论ORM有多么强大,总会出现一些特殊的情况,它无法满足我们的要求.在这篇文章中,我们介绍几种执行SQL的方法. 表结构 在具体内容开始之前,我们先简单说明一下要使用的表结构. public clas ...

  8. 完整版百度地图点击列表定位到对应位置并有交互动画效果demo

    1.前言 将地图嵌入到项目中的需求很多,好吧,我一般都是用的百度地图.那么今天就主要写一个完整的demo.展示一个列表,点击列表的任一内容,在地图上定位到该位置,并有动画效果.来来来,直接上demo  ...

  9. 【整理】01. jQuery.Form.js 用法分析

    前言: 为什么使用JQuery.From.js,因为原生<form>表单没有回调函数,不过可以通过jquery-form.js这个插件来实现回调函数. jQuery.form.js是一个f ...

  10. 使用Node.js调用阿里云短信的发送以及接收

    为了使用Node.js调用阿里云短信服务,我自己写了个npm包, 目前实现了: 使用Node.js调用阿里云短信服务,发送短信: 使用Node.js调用阿里云短信服务以及MNS服务,接收用户上行短信 ...