redis一直都是调用别人部署好的,近日想要自己从灵开始搭建一次。其中也生出不少枝节,与各位猿友共同分享,望少走些弯路!

1.提前准备的资源

redis安装包(本人上传到csdn不需积分即可下载):

http://download.csdn.net/detail/u012580998/9818185

2.将安装包解压到 /opt/redis下(目录自定义,但是请容易记一些),然后进入到该目录

3.编译redis

执行命令如下:

(编译)

make

(进入src)

  cd src

(安装,以及安装路径)

  make install PREFIX=/usr/local/redis

4.将配置文件移动到/usr/local/redis目录

5.启动redis服务

执行

/usr/local/redis/bin/redis-server /usr/local/redis/redis-conf

6.修改配置文件

编辑redis.conf

将daemonize的值改为yes  (这是后台运行)

    bind 127.0.0.1    (只能本机访问)

    改为

    bind 0.0.0.0    (非本机亦可访问(或者可以绑定指定IP))

7.注意事项,个人安装测试过程中遇到问题以及解决方案

    7.1编译过程中make 报错

解决办法:yum install tcl  (也就是yum安装tcl)

7.2  远程访问失败

解决方案便是第六步,将bind 127.0.0.1   改成了 bind 0.0.0.0

否则redis只能本地访问

7.3 redis安全模式访问

测试程序报错为:

DENIED Redis is running protected mode because protected mode is enabled,
     no bind address was specified, no authentication password is requested to clients.
     In this mode connections are only accepted from the loopback interface.

需要给redis配置密码

启动redis客户端

执行  redis-cli指令

然后执行

config set requirepass 123456(密码)

8.附上测试代码(请新建Java项目,并引入jedis的jar包(百度一下就可以找到了))

import redis.clients.jedis.Jedis;import redis.clients.jedis.exceptions.JedisConnectionException;

public class RedisTest {  

    private Jedis jedis = null;
private String key1 = "key1";
private String key2 = "key2"; public RedisTest() {
jedis = new Jedis("127.0.0.1"); // redis的IP地址
jedis.auth("redis"); // redis密码
} public static void main(String[] args) {
RedisTest redisTest = new RedisTest();
redisTest.isReachable(); // redis是否访问成功 返回结果true/false
redisTest.testData(); // 数据测试
redisTest.delData(); // 删除数据
redisTest.testExpire();
} public boolean isReachable() {
boolean isReached = true;
try {
jedis.connect();
jedis.ping();
// jedis.quit();
} catch (JedisConnectionException e) {
e.printStackTrace();
isReached = false;
} System.out
.println("The current Redis Server is Reachable:" + isReached);
return isReached;
} public void testData() {
jedis.set("key1", "data1");
jedis.set("maxm", "MMM");
System.out.println(jedis.get("maxm"));
System.out.println("Check status of data existing:"
+ jedis.exists(key1));
System.out.println("Get Data key1:" + jedis.get("key1")); long s = jedis.sadd(key2, "data2");
System.out.println("Add key2 Data:" + jedis.scard(key2)
+ " with status " + s);
} public void delData() {
long count = jedis.del(key1); System.out.println("Get Data Key1 after it is deleted:"
+ jedis.get(key1));
} public void testExpire() {
long count = jedis.expire(key2, 5); try {
Thread.currentThread().sleep(6000);
} catch (InterruptedException e) {
e.printStackTrace();
} if (jedis.exists(key2)) {
System.out
.println("Get Key2 in Expire Action:" + jedis.scard(key2));
} else {
System.out.println("Key2 is expired with value:"
+ jedis.scard(key2));
}
} }

 

redis的安装和测试的更多相关文章

  1. redis cluster安装部署(测试环境)

    redis 应用于web前端,做缓存和数据存取的速度是挺可观的,最近看了一些资料,手痒了,就弄了一个测试环境,两台方案,试用一下. ##Redis 集群部署## 一,方案调研: 参考博客: http: ...

  2. win10 64位redis的安装和测试

    步骤记录: 1.官网没有redis64位的版本,在git开源项目上找到64位的可用版本 https://www.cnblogs.com/tommy-huang/p/6093813.html 这里有下载 ...

  3. Redis、Redis+sentinel安装(Ubuntu 14.04下Redis安装及简单测试)

    Ubuntu下Redis安装两种安装方式: 1.apt-get方式 步骤: 以root权限登录,切换到/usr目录下. 接下来输入命令,apt-get install redis-server,如图: ...

  4. redis安装、测试&集群的搭建&踩过的坑

    1 redis的安装 1.1   安装redis 版本说明 本教程使用redis3.0版本.3.0版本主要增加了redis集群功能. 安装的前提条件: 需要安装gcc:yum install gcc- ...

  5. Redis学习之路(003)- hiredis安装及测试

    一. hiredis下载地址及C API  github下载:https://github.com/redis/hiredis 安装脚本: #!/bin/zsh git clone https://g ...

  6. windows x64安装与测试redis

    说明:安装与测试的系统为windows X64: 1.下载redis:https://github.com/microsoftarchive/redis/releases 2.解压Redis-x64- ...

  7. 【Redis】Redis基础 - Redis安装启动测试

    Redis基本 - 安装 文章目录 Redis基本 - 安装 Linux下安装Redis Docker 方式 Github 源码编译方式 直接安装方式 Windows下Redis安装 记录 - Red ...

  8. Redis(一)简介及安装、测试

    一.Redis简介: 关于关系型数据库和nosql数据库 关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而nosql数据 库是基于特殊的结构,并将数据存储到内存的数据库.从性能上而言, ...

  9. redis的安装配置

    主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7  到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...

随机推荐

  1. Lambda&Java多核编程-5-函数式接口与function包

    从前面的总结中我们知道Lambda的使用场景是实现一个函数式接口,那么本篇就将阐述一下何为函数式接口以及Java的function包中提供的几种函数原型. 函数式接口 早期也叫作SAM(Single ...

  2. TypeScript设计模式之备忘录、命令

    看看用TypeScript怎样实现常见的设计模式,顺便复习一下. 学模式最重要的不是记UML,而是知道什么模式可以解决什么样的问题,在做项目时碰到问题可以想到用哪个模式可以解决,UML忘了可以查,思想 ...

  3. 深入理解ajax系列第四篇——FormData

    前面的话 现代Web应用中频繁使用的一项功能就是表单数据的序列化,XMLHttpRequest 2级为此定义了FormData类型.FormData为序列化表单以及创建与表单格式相同的数据提供了便利. ...

  4. 1610: [Usaco2008 Feb]Line连线游戏

    1610: [Usaco2008 Feb]Line连线游戏 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 1396  Solved: 615 [Subm ...

  5. JavaScript零基础入门

    为什么学习JavaScript 1. 所有主流浏览器都支持JavaScript. 2. 目前,全世界大部分网页都使用JavaScript. 3. 它可以让网页呈现各种动态效果. 易学性 1.学习环境无 ...

  6. Vue学习之路---No.6(分享心得,欢迎批评指正)

    我们还是先回顾一下上一次的重点: 1.事件绑定,我们可以对分别用方法和js表达式对事件进行处理 2.当方法名带括号的时候,在方法中一定要传参:而不带括号的时候,vm会自动配置默认event 3.各类事 ...

  7. Firefox52非HTTPS页面登录页面提示连接不安全的解决办法

    背景: Firefox52版本开始,对于非HTTPS协议的登录页面,会提示链接不安全,如下图 解决办法很简单,上HTTPS协议(严重推荐,尤其是祖国这种特殊国情下,上HTTPS的协议好处多多,物超所值 ...

  8. ubuntu查看安装的cuda toolkit自带的工具及其他安装文件

    原创作品,转载请注明来源:http://www.cnblogs.com/shrimp-can/p/5253672.html 1.查看工具 默认目录为:local,进入local:cd /usr/loc ...

  9. SaaS模式应用之多租户系统开发(单数据库多Schema设计)

    SaaS是Software-as-a-Service(软件即服务)的简称,这边具体的解释不介绍. 多租户的系统可以应用这种模式的思想,将思想融入到系统的设计之中. 一.多租户的系统,目前在数据库存储上 ...

  10. 【Yii系列】Yii2.0基础框架

    缘起 因为一个月的短暂停留,我在给朋友搞事情,所以Yii系列的文章耽搁了很长时间,现在又重拾当时的知识,给大伙好好撸下这一系列的博客 提起Yii,虽然是国外的开发者搞的,但是它的作者是华人,这才是让我 ...