1. 安装路径 /webapp/redis/redis-3.2.
  2. #启动redis
  3. /webapp/redis/redis-3.2./src/redis-server &
  4. #关闭redis
  5. /webapp/redis/redis-3.2./src/redis-cli shutdown
  1. 1、安装
  2. $ wget http://download.redis.io/releases/redis-3.2.3.tar.gz
  3. $ tar xzf redis-3.2.3.tar.gz
  4. $ cd redis-3.2.3
  5. $ make MALLOC=libc
  6. #启动redis
  7. src/redis-server &
  8.  
  9. #关闭redis
  10. src/redis-cli shutdown
  11. $ src/redis-cli
  12. 127.0.0.1:6379> set foo bar
  13. OK
  14. 127.0.0.1:6379> get foo
  15. "bar"
  16. $
2、java中的使用

使用Java操作Redis需要jedis-2.1.0.jar,下载地址:http://files.cnblogs.com/liuling/jedis-2.1.0.jar.zip

如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:http://files.cnblogs.com/liuling/commons-pool-1.5.4.jar.zip

  1. //连接服务器的 Redis 服务
  2. Jedis jedis = new Jedis("192.168.248.129", 6379);
  3. //权限认证
  4. jedis.auth("123456");
  1. 3、报错解决
  1. a、绑定的ip修改,修改redis-3.2.3文件夹下的redis.conf文件
  1. # bind 127.0.0.1 注掉绑定的本机ip地址
  1. b、设置密码
  1. # redis-cli 
  1. # config set requirepass 123456  

  1.  

NOAUTH Authentication required.

  1. 提示没有权限访问的时候
  1. 输入 auth "yourpassword"  即可连接
  2.  
  3. 连接redis之前应该查看服务防火墙是否关闭,或者开启redis默认的端口
  4.  
  5. 序列化的应用
  1. /*
  2. * Copyright (c) 2016 Sohu TV. All rights reserved.
  3. */
  4. package com.sohu.dao.redis;
  5.  
  6. import org.slf4j.Logger;
  7. import org.slf4j.LoggerFactory;
  8.  
  9. import redis.clients.jedis.Jedis;
  10. import redis.clients.jedis.JedisPool;
  11.  
  12. import com.dyuproject.protostuff.LinkedBuffer;
  13. import com.dyuproject.protostuff.ProtostuffIOUtil;
  14. import com.dyuproject.protostuff.runtime.RuntimeSchema;
  15.  
  16. import com.sohu.model.Seckill;
  17.  
  18. /**
  19. * <P>
  20. * Description:
  21. * </p>
  22. * @author jfw
  23. * @version 1.0
  24. * @Date 2016年2月14日下午2:51:48
  25. */
  26. public class RedisDao {
  27.  
  28. private final JedisPool jedisPool;
  29.  
  30. private final RuntimeSchema<Seckill> schema=RuntimeSchema.createFrom(Seckill.class);
  31.  
  32. private final Logger logger=LoggerFactory.getLogger(this.getClass());
  33.  
  34. public RedisDao(String ip,int port){
  35. jedisPool=new JedisPool(ip,port);
  36. }
  37.  
  38. public Seckill getSeckill(long seckillId){
  39. try {
  40. Jedis jedis=jedisPool.getResource();
  41. jedis.auth("123456");
  42. try {
  43. String key="seckill:"+seckillId;
  44. byte[] bytes=jedis.get(key.getBytes());
  45. if(bytes!=null){
  46. Seckill seckill=schema.newMessage();
  47. ProtostuffIOUtil.mergeFrom(bytes, seckill, schema);
  48. return seckill;
  49. }
  50. }finally{
  51. jedis.close();
  52. }
  53. } catch (Exception e) {
  54. logger.error("{seckillId}"+seckillId+e.getMessage(),e);
  55. }
  56. return null;
  57. }
  58. public String putSeckill(Seckill seckill){
  59. try {
  60. Jedis jedis=jedisPool.getResource();
  61. jedis.auth("123456");
  62. try {
  63. String key="seckill:"+seckill.getId();
  64. byte[] bytes=ProtostuffIOUtil.toByteArray(seckill, schema, LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE));
  65. int timeout=60*60;
  66. String result=jedis.setex(key.getBytes(),timeout, bytes);
  67. return result;
  68. }finally{
  69. jedis.close();
  70. }
  71. } catch (Exception e) {
  72. logger.error("{seckill}"+seckill+e.getMessage(),e);
  73. }
  74. return null;
  75. }
  76. }

spring.xml配置

  1.   <bean id="redisDao" class="com.sohu.dao.redis.RedisDao">
  2. <constructor-arg index="0" value="192.168.1.143"/>
  3. <constructor-arg index="1" value="6379"/>
  4. </bean>
  1. <!-- protostuff自定义序列化 -->
  2. <dependency>
  3. <groupId>com.dyuproject.protostuff</groupId>
  4. <artifactId>protostuff-core</artifactId>
  5. <version>1.0.8</version>
  6. </dependency>
  7. <dependency>
  8. <groupId>com.dyuproject.protostuff</groupId>
  9. <artifactId>protostuff-runtime</artifactId>
  10. <version>1.0.8</version>
  11. </dependency>
  12.  
  13. <dependency>
  14. <groupId>redis.clients</groupId>
  15. <artifactId>jedis</artifactId>
  16. <version>2.7.2</version>
  17. </dependency>
  1.  

Redis安装 java中的连接 序列化 反序列化的更多相关文章

  1. 【译】Java中的对象序列化

    前言 好久没翻译simple java了,睡前来一篇. 译文链接: http://www.programcreek.com/2014/01/java-serialization/ 什么是对象序列化 在 ...

  2. java中myeclipse连接mysql问题(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver)

    java中myeclipse连接mysql问题(java.lang.ClassNotFoundException: com.mysql.jdbc.Driver) 1.往项目中添加mysql-conne ...

  3. Redis】Java中使用Jedis操作Redis(Maven导入包)、创建Redis连接池

    如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Java redis 驱动. Maven项目可以直接在pom.xml中加入jedis包驱动: <!-- https: ...

  4. Java中Jedis连接Linux上的Redis出现connect time out(解决方案)

    我的代码: /** * * <p>Title: testJedis</p> * <p>Description: 测试单机版的redis连接(每连接一次构建一个对象) ...

  5. Redis在java中的使用

    1.首先安装Redis环境.可以在Windows.linux.别的服务器上搭建Redis环境 2.在java工程中导入必须的jar包 如maven上导入两个jar] <!-- Redis必须包 ...

  6. java Serializable和Externalizable序列化反序列化详解--转

    一.什么是序列化? “对象序列化”(Object Serialization)是 Java1.1就开始有的特性. 简单地说,就是可以将一个对象(标志对象的类型)及其状态转换为字节码,保存起来(可以保存 ...

  7. java Serializable和Externalizable序列化反序列化详解(转载)

    一.什么是序列化? “对象序列化”(Object Serialization)是 Java1.1就开始有的特性. 简单地说,就是可以将一个对象(标志对象的类型)及其状态转换为字节码,保存起来(可以保存 ...

  8. Redis 在java中的使用(登录验证,5分钟内连续输错3次密码,锁住帐号,半小时后解封)(三)

    在java中使用redis,做简单的登录帐号的验证,使用string类型,使用redis的过期时间功能 1.首先进行redis的jar包的引用,因为用的是springBoot,springBoot集成 ...

  9. Linux学习—redis安装配置及远程连接

    1.下载安装包并解压 进入文件夹/usr/local cd /usr/local 下载redis安装包: wget http://download.redis.io/releases/redis-.t ...

随机推荐

  1. 分析setup/hold电气特性从D触发器内部结构角度

    上图是用与非门实现的D触发器的逻辑结构图,CP是时钟信号输入端,S和R分别是置位和清零信号,低有效; D是信号输入端,Q信号输出端; 这里先说一下D触发器实现的原理:(假设S和R信号均为高,不进行置位 ...

  2. 对Neural Machine Translation by Jointly Learning to Align and Translate论文的详解

    读论文 Neural Machine Translation by Jointly Learning to Align and Translate 这个论文是在NLP中第一个使用attention机制 ...

  3. 01 mysql 基础一 (进阶)

    mysql基础一 1.认识mysql与创建用户 01 Mysql简介 Mysql是最流行的关系型数据库管理系统之一,由瑞典MySQLAB公司开发,目前属于Oracle公司. MySQL是一种关联数据库 ...

  4. 使用selenium模拟登录知乎

    网上流传着许多抓取知乎数据的代码,抓取它的数据有一个问题一定绕不过去,那就是模拟登录,今天我们就来聊聊知乎的模拟登录. 获取知乎内容的方法有两种,一种是使用request,想办法携带cookies等必 ...

  5. Eclipse字体修改

    第一步: 第二步: 第三步: 第四步: 第五步: 第六步:

  6. 菜鸟学Linux - Tarball安装的一般步骤

    所谓的Tarball软件,实际上指的是从网络上下载到的源码包.通常是以.tar.gz和tar.bz2结尾.至于gz和bz2的区别在于压缩算法的不同(bz2的压缩效果好像好一些).源码包下载完成后,需要 ...

  7. WPF系列教程——(一)仿TIM QQ界面 - 简书

    原文:WPF系列教程--(一)仿TIM QQ界面 - 简书 TIM QQ 我们先来看一下TIM QQ长什么样,整体可以将界面分为三个部分 TIM QQ 1. 准备 阅读本文假设你已经有XAML布局的基 ...

  8. 关于DIV内文字垂直居中的写法

    最近在写UI,或多或少用到了CSS,在这记录一下,今天用到的DIV内文字垂直居中的写法, 因为所做的项目都是基于WebKit内核浏览器演示的,所以我们今天采用的是-webkit-box的写法: dis ...

  9. 使用Matrix-tree与它的行列式来解决生成树计数问题

    我又把Matrix写错啦 这东西讲课的时候竟然一笔带过了,淦 好吧这东西我不会证 那我们来愉快的看结论吧 啦啦啦 预备工作 你有一个 $ n $ 个点的图 比如说 5 /|\ / | \ 2--1-- ...

  10. Visual Studio Emulator for Android 折腾记

    想用虚拟机调试Android项目,于是想到了MS免费提供的 Visual Studio Emulator for Android,这玩意价格免费量又足,N久之前试用过,速度杠杠的! 安装包很小,不到4 ...