微信公众号搜索【程序媛小庄】 - 没有白走的路,每一步都算数html
数据库有不少种,大体有两类 - 关系型数据库和非关系型数据库,关系型数据库好比有MySQL postgraphSQL等,而Redis就属于非关系型数据库,接下来就一块儿来看看为啥要使用Redis不是已经有MySQL了吗?Redis和MySQL又有什么不一样呢?web
Redis是一个开源的、内存中的数据结构存储系统,能够用做数据库、缓存和消息中间件,支持多种类型的数据结构,好比strings hashes lists sets sorted_sets
,Redis内置了LUA脚本、LRU驱动事件、事务以及不一样级别的磁盘持久化,并且能够经过Sentinel和cluster实现高可用。redis
既然有了MySQL那么为啥还要使用Redis呢?传统的关系型数据库好比MySQL其实不能适用所欲的场景,好比访问频率很是高的页面等,若是每次都去数据库进行访问,很容易把数据库打崩,所以引入了缓存中间件,Redis此时就是一个缓存的做用。数据库
因为Redis是基于内存的,读写速度很是快,那么除了基于内存这一缘由外,Redis还有什么其余的缘由让Redis快的脱颖而出呢?其余的缘由还有IO多路复用,而且Redis是单线程模式,避免了没必要要的上下文切换。windows
上面简单的对Redis进行了介绍,下面就一块儿来安装一下redis吧。缓存
Redis官方不建议在windows下使用Redis,所以官方网站并无windows版本能够下载,若是须要在windows系统上安装redis,能够参考下述网站:www.redis.com.cn/redis-insta…bash
在Linux系统下安装Redis方法以下:微信
下载并安装markdown
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-cli
和redis-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:基于内存,读写速度很是快,属于非关系型数据库,一般用做缓存中间件。
MySQL:硬盘数据库,数据持久化,属于关系型数据库,一般用来存储永久数据,而且数据之间有关联关系的数据。
缓存系统:使用最普遍的就是缓存
计数器:网站访问量,转发量,评论数(文章转发,商品销量,单线程模型,不会出现并发问题)
消息队列:发布订阅,阻塞队列实现(简单的分布式,blpop:阻塞队列,生产者消费者)
排行榜:有序集合(阅读排行,点赞排行,推荐(销量高的,推荐))
社交网络:不少特效跟社交网络匹配,粉丝数,关注数
实时系统:垃圾邮件处理系统,布隆过滤器
文章首发于微信公众号程序媛小庄,同步于掘金。
码字不易,转载请说明出处,走过路过的小伙伴们伸出可爱的小指头点个赞再走吧(╹▽╹)