[Redis入门] 安装和介绍|8月更文挑战

324 阅读4分钟

微信公众号搜索【程序媛小庄】 - 没有白走的路,每一步都算数

image.png

前言

数据库有很多种,大致有两类 - 关系型数据库和非关系型数据库,关系型数据库比如有MySQL postgraphSQL等,而Redis就属于非关系型数据库,接下来就一起来看看为啥要使用Redis不是已经有MySQL了吗?Redis和MySQL又有什么不同呢?

Redis简介

Redis是一个开源的、内存中的数据结构存储系统,可以用作数据库、缓存和消息中间件,支持多种类型的数据结构,比如strings hashes lists sets sorted_sets,Redis内置了LUA脚本、LRU驱动事件、事务以及不同级别的磁盘持久化,而且可以通过Sentinel和cluster实现高可用。

既然有了MySQL那么为啥还要使用Redis呢?传统的关系型数据库比如MySQL其实不能适用所欲的场景,比如访问频率非常高的页面等,如果每次都去数据库进行访问,很容易把数据库打崩,因此引入了缓存中间件,Redis此时就是一个缓存的作用。

由于Redis是基于内存的,读写速度非常快,那么除了基于内存这一原因外,Redis还有什么其他的原因让Redis快的脱颖而出呢?其他的原因还有IO多路复用,并且Redis是单线程模式,避免了不必要的上下文切换。

上面简单的对Redis进行了介绍,下面就一起来安装一下redis吧。

Redis安装

Redis官方不建议在windows下使用Redis,因此官方网站并没有windows版本可以下载,如果需要在windows系统上安装redis,可以参考下述网站:www.redis.com.cn/redis-insta…

在Linux系统下安装Redis方法如下:

下载并安装

wget https://download.redis.io/releases/redis-6.2.5.tar.gz
tar xzf redis-6.2.5.tar.gz
cd redis-6.2.5
make

执行完make命令后,redis-6.2.5目录下会出现编译后的redis服务程序redis-server还有用于测试的客户端程序redis-cli,两个程序位于安装目录src目录下。

启动redis服务

首先是最简单的启动方式 - 使用redis的默认配置。

cd src
./redis_server

当然也可以通过启动参数告诉redis使用指定配置文件,redis.conf是一个默认的配置文件,也可以根据需要使用自己的配置文件:

cd src
./redis_server ../redis.conf

启动redis服务进程后,就可以使用测试客户端程序redis-cliredis-server进行交互了,在没有把redis-server配置为后台启动时,使用redis-cli前一定要启动redis-server哦~,比如:

cd src
./redis-server  # 启动redis服务
./redis-cli  # 启动redis客户端
redis> set foo bar
OK
redis> get foo
"bar"

每次启动客户端都要启动服务端很明显非常不方便,因此可以将redis-server配置成为一个后台服务,配置方式就是修改配置文件中的daemonize no 改成 daemonize yes,同样可以设置客户端的访问密码,就是通过配置文件中的requirepass,常用配置文件redis.conf


# 默认端口6379
port 6379
# 绑定ip,如果是内网可以直接绑定 127.0.0.1, 或者忽略, 0.0.0.0是外网
bind 0.0.0.0
# 密码 abcd123
requirepass abcd123

Redis VS MySQL

redis:基于内存,读写速度非常快,属于非关系型数据库,通常用作缓存中间件。

MySQL:硬盘数据库,数据持久化,属于关系型数据库,通常用来存储永久数据,并且数据之间有关联关系的数据。

Redis典型使用场景

缓存系统:使用最广泛的就是缓存

计数器:网站访问量,转发量,评论数(文章转发,商品销量,单线程模型,不会出现并发问题)

消息队列:发布订阅,阻塞队列实现(简单的分布式,blpop:阻塞队列,生产者消费者)

排行榜:有序集合(阅读排行,点赞排行,推荐(销量高的,推荐))

社交网络:很多特效跟社交网络匹配,粉丝数,关注数

实时系统:垃圾邮件处理系统,布隆过滤器

结语

文章首发于微信公众号程序媛小庄,同步于掘金

码字不易,转载请说明出处,走过路过的小伙伴们伸出可爱的小指头点个赞再走吧(╹▽╹)