阿里云下Linux服务器安装Redis

什么是Redis?

Redis是一个可以持久化的缓存框架,支持分布式缓存,简单易用。类似的框架还有memcached,是一个Key-Value形式存储的缓存框架。

可以作为缓存的框架有:

EHCache

MongoDB 更偏向存储,而不是缓存

Redis 更偏向于缓存,而非存储

Memcached

Redis的安装和配置

1、先安装gcc

yum -y install gcc

redis的安装和使用步骤

https://redis.io/download

步骤:

一、安装

wget http://download.redis.io/releases/redis-3.2.9.tar.gz
 tar xzf redis-3.2.9.tar.gz
 cd redis-3.2.9

make MALLOC=libc

二、启动Redis服务

src/redis-server

如果要通过Java远程连接到Redis服务,还需要修改redis.conf文件

Java远程连接Linux服务器中的Redis

配置Linux服务器上的Redistribution服务,允许远程调用。

修改Redis的配置文档

在redis安装目录下的redis.conf文件中的如下内容:

1、注释掉redis安装目录下的redis.conf文件中的如下数据:bind 127.0.0.1,修改后为#bind 127.0.0.1

2、修改保护模式为非:默认为protected-mode yes ,修改后为protected-mode no

3、设置redis连接密码:找到#requirepass foobared ,在下面添加requirepass 123456

然后启动redis server:

./redis-server redis.conf

在以上过程中可能会需要重启redis server,终止和重启的命令如下:

1、终止,通过杀死redis的进程

kill -9 进程ID (解释:-9的含义是强制杀死)

进程ID可以通过如下命令查询:

ps -ef | grep ‘redis‘

三、启动客户端并测试

src/redis-cli

带密码的启动方式

./redis-cli -h 127.0.0.1 -p 6379 -a 123456

-h 是主机IP地址

-p 是端口号

-a 是密码

最后在Java代码中调用Redis。(使用Jedis方式调用)

1、导包:

1 <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
2 <dependency>
3     <groupId>redis.clients</groupId>
4     <artifactId>jedis</artifactId>
5     <version>2.9.0</version>
6 </dependency>

2、代码:

1 JedisShardInfo sharInfo = new JedisShardInfo("192.168.72.188", 6379);
2   sharInfo.setPassword("123456");
3   Jedis jedis = new Jedis(sharInfo);
4   String result = jedis.set("name", "zhangsan");
5   System.out.println(result);
6   String name = jedis.get("name");
7   System.out.println(name);
8   jedis.close();

3、Java中Redis池

 1 JedisPoolConfig config = new JedisPoolConfig();
 2   config.setMaxIdle(1000);//最大空闲时间
 3   config.setMaxWaitMillis(1000); //最大等待时间
 4   config.setMaxTotal(500); //redis池中最大对象个数
 5
 6   JedisShardInfo sharInfo = new JedisShardInfo("192.168.72.188", 6379);
 7   sharInfo.setPassword("123456");
 8   List<JedisShardInfo> list = new ArrayList<JedisShardInfo>();
 9   list.add(sharInfo);
10   ShardedJedisPool pool = new ShardedJedisPool(config, list);
11   ShardedJedis jedis2 = pool.getResource();
12   jedis2.set("haha", "测试");
13   System.out.println(jedis2.get("haha"));

可能会出现的BUG:

redis.clients.jedis.exceptions.JedisDataException: MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.
 at redis.clients.jedis.Protocol.processError(Protocol.java:127)
 at redis.clients.jedis.Protocol.process(Protocol.java:161)
 at redis.clients.jedis.Protocol.read(Protocol.java:215)
 at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340)
 at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:239)
 at redis.clients.jedis.Jedis.set(Jedis.java:121)
 at redis.clients.jedis.ShardedJedis.set(ShardedJedis.java:43)
 at com.javen.redis.RedisTest.testHelloWorld(RedisTest.java:29)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:497)
 at junit.framework.TestCase.runTest(TestCase.java:154)
 at junit.framework.TestCase.runBare(TestCase.java:127)
 at junit.framework.TestResult$1.protect(TestResult.java:106)
 at junit.framework.TestResult.runProtected(TestResult.java:124)
 at junit.framework.TestResult.run(TestResult.java:109)
 at junit.framework.TestCase.run(TestCase.java:118)
 at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:131)
 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)

解决:

登录到redis客户端,然后输入如图红色方框中的命令:

config set stop-writes-on-bgsave-error no

时间: 2024-11-05 17:27:09

阿里云下Linux服务器安装Redis的相关文章

阿里云下Linux服务器安装JDK、Tomcat

阿里云服务器相信大家越来越熟悉,刚开始接触,将基本的java软件安装做点记录: 1.配置阿里云的yum仓库: 获取仓库配置 wget http://mirrors.aliyun.com/repo/Centos-7.repo 修改Linux默认的yum配置 将Centos-7.repo中的内容拷贝到/etc/yum.repos.d/CentOS-Base.repo文件中.(注意对源文件进行备份) 2.JDK的安装和配置 yum安装方式 yum:是一个自动安装RPM软件包的工具,自动在网络上下载和解

阿里云下Linux服务器安装Mysql、mongodb

一.MySQL的安装和配置 1.安装rpm包 rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm 2.安装mysql yum -y install mysql-community-server 3.加入开机启动(就是电脑启动的时候,自动启动MySQL服务) systemctl enable mysqld 4.启动MySQL服务进程 systemctl start mysqld 5.配置root用户密

阿里云CentOS Linux服务器上搭建邮件服务器遇到的问题

参考文章: 阿里云CentOS Linux服务器上用postfix搭建邮件服务器 Linux系统下邮件服务器的搭建(Postfix+Dovecot) 本来想自己搭建邮件服务器,但是看到一篇资料表示阿里云为了禁止垃圾邮件,禁用了25端口. 可以使用阿里云的邮件推送服务. SMTP之PHP调用示例 email.class.php下载

转-阿里云CentOS Linux服务器上用postfix搭建邮件服务器

http://www.cnblogs.com/dudu/archive/2012/12/12/linux-postfix-mailserver.html 注:本文的邮件服务器只用于发送邮件,也就是STMP服务器. 一.准备工作 1. 为邮件服务器添加DNS解析 虽然不加DNS解析也能把邮件发出去,但会被大多数邮件服务器当作垃圾邮件.根据我们的实际经验,需要添加三条DNS解析记录:A记录.MX记录.TXT记录.比如域名cnblogs.info,对应的DNS记录如下: 2. 准备存放邮件的硬盘空间

阿里云服务器Linux CentOS安装配置(四)yum安装tomcat

阿里云服务器Linux CentOS安装配置(四)yum安装tomcat 1.yum -y install tomcat  执行命令后,会帮你把jdk也安装好 2.tomcat安装目录:/var/lib/tomcat/ 3.tomcat配置目录:/etc/tomcat/ 4.启动tomcat:service tomcat start 5.访问下:curl 127.0.0.1:8080(安装目录里是个空文件夹,所以访问时,没有任何内容返回,这是正常的) 远程访问地址:http://ip:8080(

阿里云服务器linux配置iptables

尽管阿里云有云盾这样的对云服务器的安全监控保护,但是就如房子在相对安全的小区,关门总比不关门更安全吧.下面我们就开始配置阿里云服务器的iptables,为你的云服务器linux系统加上一道安全门.如果你对iptables基础知识不了解,请查看[IPTABLES]. 阿里云服务器的iptables服务默认是未开启的:[[email protected] ~]# service iptables statusFirewall is stopped.开始配置 一.配置filter表的防火墙 (1)查看

阿里云服务器Linux CentOS安装配置(七)域名解析

阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域名,进入域名控制台 如上图,点击[域名解析] 然后点击[添加解析],添加下面两项(有提示,很简单的) 3.ping测试 ping www.域名 ping 域名(没有www) 可能会两几分钟延迟,ping不通的话等两分钟再试试 4.下一章,使用nginx为云服务器上不同端口的服务配置不同的子域名

阿里云服务器Linux CentOS安装配置(一/九)购买阿里云服务器

阿里云服务器Linux CentOS安装配置(一/九)购买阿里云服务器 我在阿里云购买的服务器配置 CPU:1核 内存:2G 系统盘:40G 公共镜像:CentOS 6.5 64位 公网带宽:1Mbps 价格:108元/月 系统运行参考 1个svn 1个mysql 1个tomcat部署了一个Java Web项目跑14802端口 1个jetty部署了一个Java Web项目跑14808端口 1个resin部署了两个Java Web项目跑了8080.14805两个端口 1个nginx 上面的服务运行

在阿里云服务器上安装redis流程及常见错误

在阿里云服务器上部署redis,首先需要登陆远程登陆自己购买的阿里云服务器,购买及认证的过程就不说了,当时也是一个新手,啥都不懂,也不懂服务器,一步步按照说明才完成的,现在需要在阿里云服务器上安装redis,具体过程如下: 1,找到redis官网https://redis.io/的下载页面 复制链接地址,这里我下载的是最新的稳定版,然后进入服务器,在你想要放文件的目录下,使用wget命令进行下载 wget http://download.redis.io/releases/redis-4.0.9