什么是Redis?
Redis是一个可以持久化的缓存框架,支持分布式缓存,简单易用。类似的框架还有memcached,是一个Key-Value形式存储的缓存框架。
 
可以作为缓存的框架有:
EHCache
MongoDB 更偏向存储,而不是缓存
Redis 更偏向于缓存,而非存储
Memcached

Redis的安装和配置
1、先安装gcc
yum -y install gcc
redis的安装和使用步骤
 
步骤:
一、安装
 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、导包:
 <!-- https://mvnrepository.com/artifact/redis.clients/jedis -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
2、代码:
 JedisShardInfo sharInfo = new JedisShardInfo("192.168.72.188", 6379);
sharInfo.setPassword("123456");
Jedis jedis = new Jedis(sharInfo);
String result = jedis.set("name", "zhangsan");
System.out.println(result);
String name = jedis.get("name");
System.out.println(name);
jedis.close();
3、Java中Redis池
 JedisPoolConfig config = new JedisPoolConfig();
config.setMaxIdle(1000);//最大空闲时间
config.setMaxWaitMillis(1000); //最大等待时间
config.setMaxTotal(500); //redis池中最大对象个数 JedisShardInfo sharInfo = new JedisShardInfo("192.168.72.188", 6379);
sharInfo.setPassword("123456");
List<JedisShardInfo> list = new ArrayList<JedisShardInfo>();
list.add(sharInfo);
ShardedJedisPool pool = new ShardedJedisPool(config, list);
ShardedJedis jedis2 = pool.getResource();
jedis2.set("haha", "测试");
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
 

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

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

    阿里云下Linux服务器安装Mysql.mongodb 一.MySQL的安装和配置 1.安装rpm包 rpm -Uvh http://dev.mysql.com/get/mysql-community ...

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

    阿里云服务器相信大家越来越熟悉,刚开始接触,将基本的java软件安装做点记录: 1.配置阿里云的yum仓库: 获取仓库配置 wget http://mirrors.aliyun.com/repo/Ce ...

  3. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

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

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  5. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

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

    阿里云服务器Linux CentOS安装配置(四)yum安装tomcat 1.yum -y install tomcat  执行命令后,会帮你把jdk也安装好 2.tomcat安装目录:/var/li ...

  7. 阿里云服务器Linux CentOS安装配置(二)yum安装svn

    阿里云服务器Linux CentOS安装配置(二)yum安装svn 1.secureCRT连接服务器 2.先创建一个文件夹,用来按自己的习惯来,用来存放数据 mkdir /data 3.yum安装sv ...

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

    阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 我在阿里云购买的服务器配置 CPU:1核 内存:2G 系统盘:40G 公共镜像:CentOS 6.5 64位 公网带宽:1Mbps ...

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

    http://www.cnblogs.com/dudu/archive/2012/12/12/linux-postfix-mailserver.html 注:本文的邮件服务器只用于发送邮件,也就是ST ...

随机推荐

  1. 816B. Karen and Coffee 前缀和思维 或 线段树

    LINK 题意:给出n个[l,r],q个询问a,b,问被包含于[a,b]且这样的区间数大于k个的方案数有多少 思路:预处理所有的区间,对于一个区间我们标记其(左边界)++,(右边界+1)--这样就能通 ...

  2. rxjs自定义operator

    rxjs自定义operator

  3. 【CodeForces】708 C. Centroids 树的重心

    [题目]C. Centroids [题意]给定一棵树,求每个点能否通过 [ 移动一条边使之仍为树 ] 这一操作成为树的重心.n<=4*10^5. [算法]树的重心 [题解]若树存在双重心,则对于 ...

  4. Razor使用Parse()时最好指定“缓存名”

    为什么? 本文的标题,明显有一种提醒的口吻. 从18年的生活经验看,如果想提醒人要怎么办,不要怎么办. 最好说明原因.那么小编开始说明原因喽. 哦对,说原因之前,先说交代一下背景,一句话 在非mvc下 ...

  5. Spring提供的iBatis的SqlMap配置

    1.    applicationContext.xml <!-- Spring提供的iBatis的SqlMap配置--> <bean id="sqlMapClient&q ...

  6. 【日期控件】JQueryUI的datepicker日期控件

    在输入日期的时候我们经常需要日期控件,jQueryUI的datapicker就是一个很好的日期控件. 1.简单的datepicker控件 目录结构:(要将images图片放到css目录下面)

  7. JSON与JS的区别以及转换

    JSON是什么?(JSON和JavaScript对象有什么区别?)如何把JS对象转化为JSON字符串,又如何把JSON字符串转化为JavaScript对象? JSON (JavaScript Obje ...

  8. apache2启动失败(Failed to start The Apache HTTP Server.)解决方案

    不知道如何启动apache2就启动不来了. 如下图所示: 即使卸载了重新装也是如此 经过测试卸载并清除软件包的配置即可解决 sudo apt-get purge apache2  sudo apt-g ...

  9. 一款线程安全、基本功能齐全的STL

    MiniSTL 目前正在完成一个STL,主要想通过该项目锻炼C++编程.模板编程.熟悉STL.锻炼数据结构和算法能力. 项目的目标是实现STL的几大构件+线程安全.项目过程中主要参考SGI STL源码 ...

  10. alias命令别名

    笔者在看<鸟哥私房菜>时,突然看到这个命令,之前未接触过,故简单记录学习下,具体的大家可参见man手册.功能说明:设置指令的别名.语 法:alias[别名]=[指令名称]参 数 :若不加任 ...