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. Sql for Oracle基本操作关键字

    Sql for Oracle基本操作关键字 +SQL TOP子句 TOP 子句用于规定要返回的记录的数目 SELECT column_name(s) FROM table_name WHERE ROW ...

  2. NLP —— 图模型(二)条件随机场(Conditional random field,CRF)

    本文简单整理了以下内容: (一)马尔可夫随机场(Markov random field,无向图模型)简单回顾 (二)条件随机场(Conditional random field,CRF) 这篇写的非常 ...

  3. jar包的一生

    经常会头疼于一个jar包是如何制作的,包括maven的打包方式,springboot的打jar包的原理,jar包稍稍有错误就会完全无法运行.在网上折腾了很久终于有些思路和步骤,在这里做个笔记 本文大纲 ...

  4. C# 代码规范和质量检查工具 StyleCop.Analyzers

    简介 原来一直用 ReSharper 来进行代码质量检查,不过毕竟是收费的,所以想找个免费的可以推广给公司的同事也一起用.搜索了一下,找到了StyleCop,但是我在 VS 2015里安装 Style ...

  5. 一步一步深入理解Dijkstra算法

    先简单介绍一下最短路径: 最短路径是啥?就是一个带边值的图中从某一个顶点到另外一个顶点的最短路径. 官方定义:对于内网图而言,最短路径是指两顶点之间经过的边上权值之和最小的路径. 并且我们称路径上的第 ...

  6. ETL作业自动化调度软件TASKCTL4.5安装程序是选项解释

    下文仅针对TASKCTL4.5有效,在执行安装程序后,会看到安装程序有4个选项,其中,1和2是需要了解的. 1, 典型安装: 这个选项是单机部署,在第一次使用TASKCTL的时候,我用的是这种安装方式 ...

  7. TypeScript02 方法特性【参数种类、参数个数】、generate方法、析构表达式、箭头表达式、循环

    1 方法的参数 1.1 必选参数 调用方法时实参的个数必须和定义方法时形参在数量和类型上匹配 /** * Created by Administrator on 2017/8/2 0002. */ f ...

  8. ps-ef|grep-vgrep|grepsep|awk'{print"kill-9"$2}'|sh 这个表达式到底是什么意思啊?

    最佳答案   kill 掉sep这个程序ps -ef | 获取当前服务器所有进程grep -v grep 相当于grep自己吧自己过滤掉,就是不显示grepgrep seq 过滤出seqawk 截取 ...

  9. [补档]暑假集训D5总结

    %dalao 今天又有dalao来讲课,讲的是网络流 网络流--从入门到放弃:7-29dalao讲课笔记--https://hzoi-mafia.github.io/2017/07/29/27/   ...

  10. No simulation input file assignm…

    QuartusII中仿真时出现No simulation input file assignment specified on simulator page of the settings dialo ...