我是靠谱客的博主 危机电脑,最近开发中收集的这篇文章主要介绍Redis学习笔记之一:Redis的安装以及Redis的初步使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

什么是Redis?    

      Redis作为一个由C语言开发的NoSql数据库,自2009年完成开发以来,受到了广大程序员和许多公司的青睐。 Redis的主要开发者是Salvastore Sanfilippo,在推出LLOOGG系统后对Mysql的性能感到失望,决定重新为LLOOGG定制一个数据库,并于2009开发完成,且同一年将其开源,这就是Redis的由来。(ps:可能这就是大佬吧!)

Redis能干什么?

    Redis最开始的开发原因是替代Mysql,所以可以替换Mysql做数据库存储。当然并不是说明Mysql不行了,实际上现在Mysql速度越来越快了,它仍然是最受欢迎的数据库之一。

     · 用作存储数据库

     · 用作缓存系统

     · 用作队列

Redis的使用

    在Redis里面,都是使用指令进行操作的。关系型数据库使用SQL语言来操纵数据,Redis使用指令来操纵数据,可以说指令对于Redis的作用相当于SQL对于关系型数据库的作用。由于Redis指令太多,这儿就不介绍了,留到后面再详细介绍。

Redis的安装

    · Linux下的安装

        1)、使用wget下载最新的稳定版的Redis,目前最新版


         2)、使用 tar -xzf下载解压后的文件


        3)、进入解压后的目录,键入指令make完成编译

       4)、编译完成后可以执行make install指令将src下编译好的可执行文件复制到/usr/local/bin中,但编译完成后最好先运行make test指令查看是否编译正确。

     5)、切换到src下,执行./redis-server,输出如下表示启动成功


     · Windows下的安装

      windows下安装需要先下载安装包,遗憾的是最开始Redis并不支持Windows操作系统,因为Windows的稳定性鄙视,但后面Windows向Redis提交了一个补丁,所以就支持了,当然你在Redis的官网并找不到Windows的下载链接,需要到Redis的Github上寻找。

      1)、在上述网址选择合适的版本并解压,这儿我下载的是非安装版。

      2)、使用CMD进入到解压目录并执行以下指令进行安装


      3)、运行完成后你可以在Windows服务中看到Redis服务已经安装成功,然后点击启动或者执行下面的指令启动


     4)、执行以下指令打开一个客户端,并通过set指令设置值username,-h表示连接的主机 -p表示端口,Redis的默认端口是6379



    返回OK表示设置成功,好了,现在Redis有一个Key-Value了

使用Java连接Redis

   创建一个maven项目,并加入以下依赖:

<dependencies>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.9.0</version>
</dependency>
</dependencies>
    加入依赖后编写以下代码并运行:

package org.yamikaze.redis.test;
import redis.clients.jedis.Jedis;
/**
* 初次使用redis
* @author yamikaze
* @date 2017/10/31
*/
public class FirstLocalTest {
public static void main(String[] args) {
/**
* Redis的默认端口号是6379,这儿连接的是本地安装的Redis服务
*/
Jedis client = new Jedis("localhost", 6379);
String key = "username1";
String value = "yamikaze";
String setResult = client.set(key, value);
boolean keyIsExist = client.exists(key);
//key是否存在于redis中
System.out.println(keyIsExist);
String getValue = client.get(key);
//setResult表示set结果,成功表示OK
System.out.println(setResult);
//true, 从redis中取出的值与value相等
System.out.println(value.equals(getValue));
}
}
    然后再编写代码测试Linux上的Redis

package org.yamikaze.redis.test;
import redis.clients.jedis.Jedis;
/**
* 初次使用redis
* @author yamikaze
* @date 2017/10/31
*/
public class FirstRemoteTest {
public static void main(String[] args) {
Jedis client = new Jedis("hostname");
String key = "username1";
String value = "yamikaze";
String setResult = client.set(key, value);
boolean keyIsExist = client.exists(key);
//key是否存在于redis中
System.out.println(keyIsExist);
String getValue = client.get(key);
//setResult表示set结果,成功表示OK
System.out.println(setResult);
//true, 从redis中取出的值与value相等
System.out.println(value.equals(getValue));
}
}
    这儿要注意的是,如果出现timeout异常,可以做以下操作:

    1)、注释redis.conf配置文件中bind

    不注释掉表示Redis只会监听这个ip地址,注释掉之后表示监听任何地址,不注释以外的ip无法建立连接。

    2)、修改protected-mode


   一定要将这个值修改为no,这个表示当没有使用1)中的bind指令配置地址或者没有配置密码时,会启动保护模式,拦截客户端的请求(可以建立连接,但是不能操作),如果没有bind,且注释了这个属性,那么protected-mode是开启的。        

     3)、如果经过了1)和2)还是timeout,使用指令systemctl stop firewalld关闭防火墙,但实验完毕记得开启。

     4)、如果经过3)还不能连接,使用iptables -F清空规则。 

     5)、如果经过4)还不能连接,使用指令getenforce查看SElinux是否开启,如果开启,使用指令setenforce 0禁用,但测试完毕记得setenforce 1启用。当然如果SELinux是disabled,可以pass这一步。

     6)、如果经过上面5步还不行,再检查一遍连接的ip是否正确,服务端的Redis是否已经启动,端口号是否匹配,如果还不行,GG尴尬

     最后,欢迎各位在底下留言评论指出不足以及错误! _φ(❐_❐✧ 人丑就要多读书

参考资料

    ·《Redis入门指南》

    

    

最后

以上就是危机电脑为你收集整理的Redis学习笔记之一:Redis的安装以及Redis的初步使用的全部内容,希望文章能够帮你解决Redis学习笔记之一:Redis的安装以及Redis的初步使用所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部