centos7远程服务器中redis的安装与java连接
1.下载安装redis
在远程服务器中你想下载的位置执行以下命令来下载redis文件到服务器中
$ wget http://download.redis.io/releases/redis-4.0.9.tar.gz
说明:$是指你的当前目录,不是命令的一部分,wget命令用来下载网上资源,后面的地址是网上资源路径,你可以去redis官网上查找你想下载的redis版本的下载路径
解压文件
$ tar xzf redis-4.0.9.tar.gz
编译文件$ cd redis-4.0.9
$ make注意:如果在make时报错有如下原因
1.没有安装gcc(因为redis是用c写得),并且是4以上版本需要执行 yum install gcc
2.有可能也要安装gcc++,需要执行 yum install gcc++
3.如果要用make test命令测试redis,还需要安装tcl,命令为 yum install tcl2.启动redis服务和客户端
在redis-4.0.9(解压编译目录)下执行
$ src/redis-server
这样就启动了服务,界面会出项相应的启动信息
现在再来启动客户端
$ src/redis-cli 3.使用java客户端访问远程redis服务
因为redis本身默认是不支持远程地址访问的,所以我们需要先配置一下redis
1.编辑安装目录下的redis.conf文件,注释掉本地ip绑定,
#bind 127.0.0.1
2.在本地客户端中设置登录密码
$ config set requirepass mypwd
这样基本就可以啦
具体的这块配置参考:
https://www.cnblogs.com/y-l-h/p/7930085.html
https://www.cnblogs.com/machanghai/p/5497043.html 接下来在开发工具中创建maven项目,添加jedis依赖
<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
编写客户端
import redis.clients.jedis.Jedis;
public class RedisTest {
public static void main(String[] args) {
//create your redis ip address
String redisIp = "";
//Connecting to Redis server on cloud server
Jedis jedis = new Jedis(redisIp);
//authentication password
jedis.auth("12358");
System.out.println("Connection to server successfully");
//check whether server is running or not
System.out.println("server is running: "+jedis.ping());
}
}
结果如下,表示连接成功
Connection to server successfully
server is running: PONG
其他问题:之前用阿里的云服务器进行redis远程连接时会报错
xception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException: connect timed out
at redis.clients.jedis.Connection.connect(Connection.java:207)
at redis.clients.jedis.BinaryClient.connect(BinaryClient.java:93)
at redis.clients.jedis.Connection.sendCommand(Connection.java:126)
at redis.clients.jedis.Connection.sendCommand(Connection.java:117)
at redis.clients.jedis.BinaryClient.auth(BinaryClient.java:564)
at redis.clients.jedis.BinaryJedis.auth(BinaryJedis.java:2138)
at top.pancras.redis.RedisTest.main(RedisTest.java:11)
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at redis.clients.jedis.Connection.connect(Connection.java:184)
... 6 more
防火墙没有开启,不是防火墙的问题,主要在于阿里的云服务想要对外开放端口还需要在其官网进行配置才可以,参考http://www.cnblogs.com/coffee9527/p/8711906.html,把端口改成你要开放的端口应该就可以啦
centos7远程服务器中redis的安装与java连接的更多相关文章
- 附加进程 到远程服务器中Docker容器内 调试
很多时候,我们在本地开发过程中程序运行很正常,但是发布到线上之后由于环境的原因,可能会有一些异常.通常我们会通过日志来分析问题,除了日志还有一种常用的调试手段就是:附加进程. VS中的附加进程非常强大 ...
- shell实践(一)---判断远程服务器中文件是否存在
1.判断一个文件的常见形式为 if [ -f filename ] #此处有-e和-f的区别 注意: 1)中括号之间的空格: 2)filename最好是绝对路径,在判断远程服务器中文件是否存在时尤为 ...
- Laravel 5.1中 Redis 的安装配置及基本使用教程
关于Redis的介绍我们在之前Laravel 缓存配置一节中已有提及,Redis是一个开源的.基于内存的数据结构存储器,可以被用作数据库.缓存和消息代理.相较Memcached而言,支持更加丰富的数据 ...
- Linux中Redis的安装
一.下载redis redis官网地址:http://www.redis.io/ 下载地址:http://download.redis.io/releases/ redis中文文档地址:http:// ...
- redis的安装和pip连接
一.首先说说我的环境. 操作系统:Ubuntu16.04 能联网(使用了桥接方式) 二.安装redis cd进一个文件夹. 控制台输入 weget http ...
- centos 中 redis 的安装
安装流程 Wget http://download.redis.io/releases/redis-5.0.4.tar.gz tar xzf redis-5.0.4.tar.gz mv redis-5 ...
- php中redis的安装
1.当你在使用php时出现下面的问题 2.通过phpinfo()查看php的版本 我的是php5.6版本 3.查看需要下载的redis的版本 4.点击下面的额链接下载redis:http://wind ...
- Ubuntu中Redis的安装与使用
安装 安装Redis服务器端 apt-get install redis-server 安装完成后,Redis服务器会自动启动,我们检查Redis服务器程序. 检查Redis服务器系统进程 ps -a ...
- Linux中redis的安装与配置
redis官网地址:http://www.redis.io/ redis安装 在Linux下安装Redis非常简单,这里以2.8.3版本为例,具体步骤如下: 1.下载源码,解压缩后编译源码. $ mk ...
随机推荐
- 文件导出Excel、Word、Pdf
如果要将查询结果导出Excel,只要将页面的Context-Type修改下: header( "Content-Type: application/vnd.ms-excel"> ...
- OpenStack kilo版(1) 部署环境
硬件 VMware workstation虚拟机 Ubuntu14.04操作系统 虚拟机网络规划 管理网络: eth0, 桥接模式 10.0.0.0/24 外部网络: eth1, nat模式(需要关闭 ...
- python 操作Hbase 详解
博文参考:https://www.cnblogs.com/tashanzhishi/p/10917956.html 如果你们学习过Python,可以用Python来对Hbase进行操作. happyb ...
- impala 下的SQL函数
#把时间转化成时间戳select cast('1966-07-30' as timestamp);select cast('1985-09-25 17:45:30.005' as timestamp) ...
- 用arduino的uno开发板为nano板子烧写bootloader
这篇文章,是为了记录下某宝上淘到的一个没有bootloader的nano开发板的历程(比较坑),自己搜索资料而记录的. 如果没有bootloader,板子就不能接收上传的程序,什么也干不了. 烧写bo ...
- Data truncation: Incorrect datetime value: 'May 15, 2019 4:15:37 PM
因为系统在windows下测试过是正常的 windows下的jdk+ windows下安装的mysql 全部cases通过 linux下的jdk + windows下安装的mysql 新增和更新,影响 ...
- 查看python和NumPy版本和安装路径
记录查看Python和NumPy版本以及路径的几条命令 # 查看Python版本及路径 python -V python -c "import sys;print(sys.executabl ...
- synchronized 和 volatile 的区别是什么?(未完成)
synchronized 和 volatile 的区别是什么?(未完成)
- linux getpid _getpid()
getpid是一种函数,功能是取得进程识别码,许多程序利用取到的此值来建立临时文件,以避免临时文件相同带来的问题. 函数功能:取得进程识别码 相关函数:fork,kill,getpid 头文件:旧版本 ...
- Python window console 控制台 实现最后一行输出 print 重写
Python window console 控制台 实现最后一行输出 print 重写 # -*- coding: utf-8-*- from __future__ import print_func ...