redis的安装和测试
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的安装和测试的更多相关文章
- redis cluster安装部署(测试环境)
redis 应用于web前端,做缓存和数据存取的速度是挺可观的,最近看了一些资料,手痒了,就弄了一个测试环境,两台方案,试用一下. ##Redis 集群部署## 一,方案调研: 参考博客: http: ...
- win10 64位redis的安装和测试
步骤记录: 1.官网没有redis64位的版本,在git开源项目上找到64位的可用版本 https://www.cnblogs.com/tommy-huang/p/6093813.html 这里有下载 ...
- Redis、Redis+sentinel安装(Ubuntu 14.04下Redis安装及简单测试)
Ubuntu下Redis安装两种安装方式: 1.apt-get方式 步骤: 以root权限登录,切换到/usr目录下. 接下来输入命令,apt-get install redis-server,如图: ...
- redis安装、测试&集群的搭建&踩过的坑
1 redis的安装 1.1 安装redis 版本说明 本教程使用redis3.0版本.3.0版本主要增加了redis集群功能. 安装的前提条件: 需要安装gcc:yum install gcc- ...
- Redis学习之路(003)- hiredis安装及测试
一. hiredis下载地址及C API github下载:https://github.com/redis/hiredis 安装脚本: #!/bin/zsh git clone https://g ...
- windows x64安装与测试redis
说明:安装与测试的系统为windows X64: 1.下载redis:https://github.com/microsoftarchive/redis/releases 2.解压Redis-x64- ...
- 【Redis】Redis基础 - Redis安装启动测试
Redis基本 - 安装 文章目录 Redis基本 - 安装 Linux下安装Redis Docker 方式 Github 源码编译方式 直接安装方式 Windows下Redis安装 记录 - Red ...
- Redis(一)简介及安装、测试
一.Redis简介: 关于关系型数据库和nosql数据库 关系型数据库是基于关系表的数据库,最终会将数据持久化到磁盘上,而nosql数据 库是基于特殊的结构,并将数据存储到内存的数据库.从性能上而言, ...
- redis的安装配置
主要讲下redis的安装配置,以及以服务的方式启动redis 1.下载最新版本的redis-3.0.7 到http://redis.io/download中下载最新版的redis-3.0.7 下载后 ...
随机推荐
- 手把手教你用Mysql-Cluster-7.5搭建数据库集群
前言 当你的业务到达一定的当量,肯定需要一定数量的数据库来负载均衡你的数据库请求,我在之前的博客中已经说明了,如何实现负载均衡,但是还有一个问题就是数据同步,因为负载均衡的前提就是,各个服务器的数据库 ...
- nodejs中的异步流程序控制nsync
异步编程是指由于异步I/O等因素,无法同步获得执行结果时, 在回调函数中进行下一步操作的代码编写风格,常见的如setTimeout函数.ajax请求等等 http://cnodejs.org/topi ...
- Collection和Map
(1)Collection和Map的继承体系. (2)ArrayList(数组).LinkedList(链表).Vector(线程同步).Stack(继承Vector先进后出的栈).PriorityQ ...
- SpringMVC:学习笔记(8)——文件上传
SpringMVC--文件上传 说明: 文件上传的途径 文件上传主要有两种方式: 1.使用Apache Commons FileUpload元件. 2.利用Servlet3.0及其更高版本的内置支持. ...
- Java基础——运算符
一.赋值运算符 在前面的学习中,用到最多的是什么呢?就是“=” .例如:int money=1000; //储存本金 使用“=”将数值1000放入变量money的存储空间中.“=”称为赋值运算符. ...
- Triangle Problems
Triangle Problem songxiuhuan 宋修寰 Import the Junit and eclemma Choose the project and right click, ch ...
- Remove Element leetcode
Given an array and a value, remove all instances of that value in place and return the new length. T ...
- 1660: [Usaco2006 Nov]Bad Hair Day 乱发节
1660: [Usaco2006 Nov]Bad Hair Day 乱发节 Time Limit: 2 Sec Memory Limit: 64 MB Submit: 665 Solved: 31 ...
- C++primer拾遗(第二章:变量和基本类型)
这是我对c++primer第二章的一个整理总结,算是比较适用于我自己吧,一小部分感觉不用提及的就省略了,只提了一下平时不注意,或者不好记住的内容. 排版太费劲了,直接放了图片格式.从自己的oneNot ...
- Visual Studio 2017正式版安装
Visual Studio号称宇宙第一IDE, 2017年3月7日强大的微软帝国时隔两年多终于发布新一代IDE Visual Studio 2017.支持的功能简直不能太多,详情移步:https:// ...