目录
redis初级入门(了解篇)
最近在学习redis,然后个人总结了一下,学了多少就总结多少,如果有哪里写错了欢迎给位大佬留言更正
一:什么是redis
REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。
Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。
Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。
二:为什么要用redis
1:查询数据库存在的弊端
数据库操作的是磁盘,存在磁盘的IO,它会阻塞线程,在极端情况下会导致应用卡顿
2:redis
优势:redis操作的是内存,相对与数据库来说不会阻塞线程,不会导致应用卡顿
3:mysql+redis实现查询缓存
缓存:经常访问,但不会经常被修改,例如电商的首页数据
三:使用redis的好处
redis优势
1:性能极高:redis读的速度能达到11w次/s,写的速度能达到8.1w次/s
2:丰富的数据类型:redis的值可恶意是字符串(string),哈希(hash),列表(list),集合(set)以及(sorted sets)等类型
3:原子性:redis的所有操作都是原子性的,意思就是要么成功执行,要么失败不执行,单个操作是原子性的,多个操作也是支持事务
4:丰富的特性:redis还支持public/subscribe,通知,key过期等等特性
redis与其他key-valu(memcache)缓存产品有以下三个特点:
1:redis支持数据的持久性,可以将内存中的数据保存在磁盘中,重启的时候可以在次加载进行使用
2:redis不仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
3:redis支持数据的备份,即master-slave模型的数据备份。
四:在哪些场景下建议使用redis
以下场景建议使用redis
1:查询缓存
2:分布式锁
3:redis当作数据的存储介质,秒杀(商品信息、订单信息)、排行榜、技术器、短信验证码等
五:redis安装
window系统
下载地址:https://github.com/microsoftarchive/redis/releases
下载解压
运行
linux系统
安装步骤:
1:首先下载下来(注意:redis6版本要求gcc版本必须5.3以上,centos7默认安装的版本是4.8.5,查看gcc版本命令 )
如果没gcc没升级的话先升级
升级gcc:
yum -y install centos-release-scl
yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile --使永久生效
yum install tcl -y
2:上传redis压缩包到服务器,并解压
# -zxvf redis-6.0.8.tar.gz -C 安装路径
3:编译
# cd /export/server/redis-6.0.8/
# make
4:安装
# cd /export/server/redis-6.0.8/
# make PREFIX=/export/server/redis install
5:启动
# ./redis-server
6:后台启动守护进程设置
1:复制redis的核心配置文件redis.conf到bin目录下
# pwd
/export/server/redis-6.0.8
# cp redis.conf /export/server/redis/bin/
2:修改配置文件
daemonize yes
3:启动
# pwd
/export/server/redis/bin
# ./redis-server ./redis.conf
7:连接
# ./redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379>
8:配置redis环境
vi/etc/profile
export REDIS_HOME=/export/server/redis
export PATH=$PATH:$REDIS_HOME/bin
立即生效
source /etc/profile
配置完环境变量后,我们可以在任何目录下启动redis-server
redis-server /export/server/redis/bin/redis.conf