文章目录
理论篇:
1.redis是什么?
2.redis的特性
3.redis应用场景
4.用好reids的建议
5.redis 的版本选择
安装篇:
1.安装过程
1.redis是什么?
Redis 是一种基于键值对(key-value)的NoSQL数据库,与很多键值对数据库不同的是,Redis中的值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成,因此Redis可以满足很多的应用场景,而且因为Redis会将所有数据都存放在内存中,所以它的读写性能非常惊人。
Redis 还可以将内存的数据利用快照和日志的形式保存到磁盘中,保证数据在机器故障时不会丢失数据。除此之外,redis还提供键过期、发布订阅、事务、流水线(pipeline)、Lua脚本功能。
设置key的过期时间,只能精确到键,不能精确到集合、列表、哈希中的某个值。
应用场景:a.验证码过期;b.优惠活动过期等限时的场景。
消息发布者和订阅者可以不进行直接通信,发布者向指定频道发消息,订阅该频道的订阅者都可以收到消息。
应用场景:a.聊天室;b.公告牌;c.服务之间利用消息解耦。
它能将一组Redis命令进行组装,通过一次RTT传输给Redis,再将这组Redis命令的执行结果按顺序返回给客户端。
应用场景:a.在要执行多条redis命令的情况下,将命令统一打包,可以节省网络传输时间。
-
Lua脚本在Redis中是原子执行的,执行过程中间不会插入其他命令。
-
Lua脚本可以将多条命令一次性打包,有效地减少网络开销。
应用场景:a.商品秒杀;b.有依赖的批量查询
注意点:redis计算时为单线程,如果lua脚本执行时间过长,会影响reids的响应时间。
2.redis的特性
-
速度快
-
基于键值对的数据结构服务器
-
简单稳定、功能丰富
-
客户端语言多
-
可以持久化
-
主从复制
-
高可用和分布式
3.redis应用场景
redis可以做什么?
-
缓存
-
排行榜系统
-
计数器应用
-
消息队列系统
redis不建议做什么?
-
存储大量数据,如几亿
-
缓存数据库中全部数据,因为有一些数据是不经常访问的,缓存全部数据会浪费资源。
4.用好reids的建议
-
切勿当作黑盒使用,开发与运维同样重要。开发人员不仅仅需要了解命令的使用,还要了解reids运行原理。
-
阅读源码。redis的代码量相对于其他非关系型数据来说是非常小的,通过阅读优秀的源码,不仅能够加深我们对于Redis的理解,而且还能提高自身的编码水平,甚至可以对Redis做定制化
5.redis 的版本选择
Redis借鉴了Linux操作系统对于版本号的命名规则:版本号第二位如果是奇数,则为非稳定版本(例如2.7、2.9、3.1),如果是偶数,则为稳定版本(例如2.6、2.8、3.0、3.2)。当前奇数版本就是下一个稳定版本的开发版本,例如2.9版本是3.0版本的开发版本。所以我们在生产环境通常选取偶数版本的Redis,如果对于某些新的特性想提前了解和使用,可以选择最新的奇数版本。
总结:
-
Redis的8个特性:速度快、基于键值对的数据结构服务器、功能丰富、简单稳定、客户端语言多、持久化、主从复制、支持高可用和分布式。
-
Redis并不是万金油,有些场景不适合使用Redis进行开发。
-
开发运维结合以及阅读源码是用好Redis的重要方法。
-
生产环境选取稳定版本的Redis。
-
Redis3.0是重要的里程碑,发布了Redis官方的分布式实现Redis Cluster。
-
redis版本:6.0.5
-
操作系统:Centos7.5
Redis能够兼容绝大部分的POSIX系统,例如Linux、OS X、OpenBSD、NetBSD和FreeBSD,其中比较典型的是Linux操作系统(例如CentOS、Redhat、Ubuntu、Debian、OS X等)。在Linux安装软件通常有两种方法,第一种是通过各个操作系统的软件管理软件进行安装,例如CentOS有yum管理工具,Ubuntu有apt。但是由于Redis的更新速度相对较快,而这些管理工具不一定能更新到最新的版本,所以一般采用第二种方式:源码的方式进行安装。
安装过程
# 拉取redis压缩包
$ wget http://download.redis.io/releases/redis-6.0.5.tar.gz
# 解压
$ tar xzf redis-6.0.5.tar.gz
# 进入解压后的文件夹(也可以重命名)
$ cd redis-6.0.5
# 检查gcc版本号,redis6.x需要gcc >= 4.9
# if gcc >= 4.9 :
# 可以直接编译
# else:
# 升级gcc
# 安装centos-release-scl
yum install centos-release-scl
# 安装 devtoolset
yum install devtoolset-9-gcc*
# 激活(临时激活)
scl enable devtoolset-9 bash
# 永久有效方式
#把下面的脚本放入/etc/init.d目录下 并给文件加上执行权限,开机启动
#--------------------------------------#
#/bin/bash
source /opt/rh/devtoolset-9/enable
#--------------------------------------#
# 编译
$ make
# 安装
$ make install
# 设置环境变量
# 方式一:将src下的命令复制到/usr/bin/下
# 方式二:编辑用户目录下的.bash_profile 文件
安装建议:对 redis-6.0.5 文件夹建个软连接到 redis 文件夹下,设置环境变量到redis文件下。
好处:之后版本升级直接修改软连接即可。
redis 安装后运行 ./src/redis-server 命令即可运行,但是此时参数都是默认的,不建议这样使用。
redis 的配置文件为解压后的目录下的 redis.conf,配置文件的具体信息可以参考里面的英文注释,具体解析之后会专门出一篇来说。
关注醒狮运维公众号,了解更多运维知识及漏洞资讯!
原文始发于微信公众号(醒狮运维):Redis第一章之初识Redis
评论