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. i++与++i陷阱

    对于++i与i++编程必不可少,它们的区别:一般人只知道++i是先将i加一再进行其他操作,i++是先将i进行其他操作,再将其加一. 但是对于i++其中的执行过程,语言环境很关键.先来两个程序,看结果是 ...

  2. maven构建maven-project和maven-module

    在Eclipse中创建Maven多模块工程的例子 更多0   如果,你需要创建多个项目,项目之间即独立又有关系,那么创建一个Maven多模块项目是个非常好的选择,也非常cool!怎么在Eclipse里 ...

  3. 安全体系(三)——SHA1算法详解

    本文主要讲述使用SHA1算法计算信息摘要的过程. 安全体系(零)—— 加解密算法.消息摘要.消息认证技术.数字签名与公钥证书 安全体系(一)—— DES算法详解 安全体系(二)——RSA算法详解 为保 ...

  4. 超出父视图无法点击问题hitTest

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c91b13 } p.p2 { margin: 0.0px 0. ...

  5. struts2知识点复习

    一. MVC Model 1:将所有的程序代码,都写到JSP页面中. Model 2:JSP(流程控制.数据显示) + JavaBean 改进的Model2:Servlet(流程控制) + Jsp(数 ...

  6. Visual Studio 2017 通过SSH 调试Linux 上.NET Core

    Visual Studio 2017 通过SSH 调试Linux 上.NET Core 应用程序. 本文环境 开发环境:Win10 x64 Visual Studio 2017 部署环境:Ubuntu ...

  7. yaourt 之 Curl 错误

    最近执行 yaourt 更新时总是出现以下错误: curl error: Couldn't connect to server 无法进行更新.把配置中的下载工具更换了成 axel 等其它下载工具,还是 ...

  8. Robots协议

       Robots协议 什么是robots? Robots文件:网站和搜索引擎之间的一个协议. 用来防止搜索引擎抓取那些我们不想被搜索引擎看到的隐私内容. Robots文件告诉蜘蛛什么是可以被查看的. ...

  9. Selenium自动化脚本开发总结

    Selenium Selenium 是ThoughtWorks专门为Web应用程序编写的一个验收测试工具. Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mo ...

  10. C#编写代码:求三个数中的最大数

    static void Main(string[] args)        {            float x, y, z, temp;            Console.Write(&q ...