安装路径 /webapp/redis/redis-3.2.
#启动redis
/webapp/redis/redis-3.2./src/redis-server &
#关闭redis
/webapp/redis/redis-3.2./src/redis-cli shutdown
1、安装
$ wget http://download.redis.io/releases/redis-3.2.3.tar.gz
$ tar xzf redis-3.2.3.tar.gz
$ cd redis-3.2.3
$ make MALLOC=libc
#启动redis
src/redis-server & #关闭redis
src/redis-cli shutdown
$ src/redis-cli
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> get foo
"bar"
$
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

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


NOAUTH Authentication required.

提示没有权限访问的时候
输入 auth "yourpassword"  即可连接

连接redis之前应该查看服务防火墙是否关闭,或者开启redis默认的端口

序列化的应用
/*
* Copyright (c) 2016 Sohu TV. All rights reserved.
*/
package com.sohu.dao.redis; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool; import com.dyuproject.protostuff.LinkedBuffer;
import com.dyuproject.protostuff.ProtostuffIOUtil;
import com.dyuproject.protostuff.runtime.RuntimeSchema; import com.sohu.model.Seckill; /**
* <P>
* Description:
* </p>
* @author jfw
* @version 1.0
* @Date 2016年2月14日下午2:51:48
*/
public class RedisDao { private final JedisPool jedisPool; private final RuntimeSchema<Seckill> schema=RuntimeSchema.createFrom(Seckill.class); private final Logger logger=LoggerFactory.getLogger(this.getClass()); public RedisDao(String ip,int port){
jedisPool=new JedisPool(ip,port);
} public Seckill getSeckill(long seckillId){
try {
Jedis jedis=jedisPool.getResource();
jedis.auth("123456");
try {
String key="seckill:"+seckillId;
byte[] bytes=jedis.get(key.getBytes());
if(bytes!=null){
Seckill seckill=schema.newMessage();
ProtostuffIOUtil.mergeFrom(bytes, seckill, schema);
return seckill;
}
}finally{
jedis.close();
}
} catch (Exception e) {
logger.error("{seckillId}"+seckillId+e.getMessage(),e);
}
return null;
}
public String putSeckill(Seckill seckill){
try {
Jedis jedis=jedisPool.getResource();
jedis.auth("123456");
try {
String key="seckill:"+seckill.getId();
byte[] bytes=ProtostuffIOUtil.toByteArray(seckill, schema, LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE));
int timeout=60*60;
String result=jedis.setex(key.getBytes(),timeout, bytes);
return result;
}finally{
jedis.close();
}
} catch (Exception e) {
logger.error("{seckill}"+seckill+e.getMessage(),e);
}
return null;
}
}

spring.xml配置

  <bean id="redisDao" class="com.sohu.dao.redis.RedisDao">
<constructor-arg index="0" value="192.168.1.143"/>
<constructor-arg index="1" value="6379"/>
</bean>
            <!-- protostuff自定义序列化 -->
<dependency>
<groupId>com.dyuproject.protostuff</groupId>
<artifactId>protostuff-core</artifactId>
<version>1.0.8</version>
</dependency>
<dependency>
<groupId>com.dyuproject.protostuff</groupId>
<artifactId>protostuff-runtime</artifactId>
<version>1.0.8</version>
</dependency> <dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.7.2</version>
</dependency>

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. Struts2之基于配置的字段校验

    上一篇struts2之输入校验介绍了手动完成输入校验,也即依靠重写validate方法和validateXxx方法,指定请求某个方法时对传入的参数进行校验. 本篇介绍基于配置的字段校验.下面是登录的常 ...

  2. 使用JDBC操作数据库

    准备工作 1.创建一个java项目导入mysql驱动包 2.在src目录中创建一个新的Java类 JDBC查询: package com.ATedu.test; import java.sql.Con ...

  3. python3 练习题100例 (十九)

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- """练习十九:计算1-2+3...+99中除了88以外所有数的和" ...

  4. C语言指针篇(二)多级指针

        多级指针         多级指针常常使用于数组.这里仅仅介绍一下它长什么样,后文会再次详细对比使用.         多级指针呢,常见的有二级指针.见图.             二级指针的 ...

  5. [Bzoj4289]PA2012 Tax(Dijkstra+技巧建图)

    Description 给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点1到点N的最小代价.起点的代价是离开起点的边的边权,终点的代价是进入终点的边的边 ...

  6. contextmanager 的基本使用

    from contextlib import contextmanager 简化 With 语句: class MyResource:    def query(self):        print ...

  7. 绿盟python测试实习面试

    1.简历问题 低级错误:时间写错 最近好像越来越马大哈了,总是犯低级错误. 上次的开题报告首页,这次的时间,每次都有小问题,确是大毛病 到底哪里出错了 2 RHCE证书好像没有用 面试官根本就不懂这个 ...

  8. Android toolbar menu 字体点击样式

    今天在做toolbar的时候,右边的菜单的点击事件,就是文字,然后文字的样式,文字的大小,文字的颜色,高了半天.最后发现,文字点下去之后是有样式的,也就是按下去有阴影. 哥哥的耐心好,就知道这不是问题 ...

  9. Android学习记录(2)—Android中数据库的常见操作

    android中数据库操作是非常常见了,我们会经常用到,操作的方法也有很多种形式,这里我就把最常见的两种形式记录下来了,以备以后用到方便查看.我就不写注释和解释了,因为android数据库的操作和其它 ...

  10. 写一个quick sort

    #include <stdio.h> #include <stdlib.h> //int a[]={1000,10000,9,10,30,20,50,23,90,100,10} ...