Redis从入门到精通(一:Redis入门)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
Redis 简介
问题现象
- 海量用户
- 高并发
罪魁祸首——关系型数据库
- 性能瓶颈磁盘IO性能低下
- 扩展瓶颈数据关系复杂扩展性差不便于大规模集群
解决思路
- 降低磁盘IO次数越低越好 —— 内存存储
- 去除数据间关系越简单越好 —— 不存储关系仅存储数据
Nosql
NoSQL即 Not-Only SQL 泛指非关系型的数据库作为关系型数据库的补充。
作用应对基于海量用户和海量数据前提下的数据处理问题。
特征
- 可扩容可伸缩
- 大数据量下高性能
- 灵活的数据模型
- 高可用
常见 Nosql 数据库
- Redis
- memcache
- HBase
- MongoDB
解决方案电商场景
Redis
概念Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对key-value数据库。
特征
- 数据间没有必然的关联关系
- 内部采用单线程机制进行工作
- 高性能。官方提供测试数据50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。
- 多数据类型支持
- 字符串类型 string
- 列表类型 list
- 散列类型 hash
- 集合类型 set
- 有序集合类型 zset/sorted_set
5. 支持持久化可以进行数据灾难恢复
Redis 的应用
- 为热点数据加速查询主要场景如热点商品、热点新闻、热点资讯、推广类等高访问量信息等
- 即时信息查询如各位排行榜、各类网站访问统计、公交到站信息、在线人数信息聊天室、网站、设备信号等
- 时效性信息控制如验证码控制、投票控制等
- 分布式数据共享如分布式集群架构中的 session 分离
- 消息队列
Redis 的下载与安装
基于源码的安装Redis
配套资源
下载安装包
wget http://download.redis.io/releases/redis-5.0.0.tar.gz
解压安装包
tar –xvf redis-5.0.0.tar.gz
编译在解压的目录中执行
make
安装在解压的目录中执行
make install
安装完成后进入我们的src目录查看可执行的redis命令
- redis-server 服务器启动命令
- redis-cli 客户端启动命令
- redis.conf redis核心配置文件
- redis-check-dump RDB文件检查工具快照持久化文件
- redis-check-aof AOF文件修复工具
Redis服务器启动
启动服务器——参数启动
redis-server [--port port]
范例
redis-server --port 6379
启动服务器——配置文件启动
redis-server config_file_name
范例
redis-server redis.conf
Redis客户端启动
启动客户端
redis-cli [-h host] [-p port]
范例
redis-cli –h 61.129.65.248 –p 6384
注意服务器启动指定端口使用的是--port客户端启动指定端口使用的是-p。-的数量不同
Redis基础环境设置约定
创建配置文件存储目录
mkdir conf
创建服务器文件存储目录包含日志、数据、临时配置文件等
mkdir data
配置文件中的配置
服务器端设定
设置服务器以守护进程的方式运行开启后服务器控制台中将打印服务器运行信息同日志内容相同
daemonize yes|no
绑定主机地址
bind ip
设置服务器端口号
port port
设置服务器文件保存地址
dir path
客户端配置
服务器允许客户端连接最大数量默认0表示无限制。当客户端连接到达上限后Redis会拒绝新的连接
maxclients count
客户端闲置等待最大时长达到最大值后关闭对应连接。如需关闭该功能设置为 0
timeout seconds
日志配置
设置服务器以
指定日志记录级别
loglevel debug |verbose| notice | warning
日志记录文件名
logfile filename
注意日志级别开发期设置为verbose即可生产环境中配置为notice简化日志输出量降低写日志IO的频度
Redis 的基本操作
信息读写
设置 keyvalue 数据
set key value
范例
set name itheima
根据 key 查询对应的 value如果不存在返回空nil
get key
范例
get name
帮助信息
获取命令帮助文档
help [command]
范例
help set
获取组中所有命令信息名称
help [ @ group-name]
范例
help @string
退出命令行客户端模式
退出客户端
quitexit
快捷键
Ctrl+C
基于yum的安装Redis
直接使用yum安装redisyum install redis
启动redisservice redis start并查看redis启动状态service redis status
设置redis开机启动systemctl enable redis
编辑redis配置文件vi /etc/redis.conf
设置redis连接密码
requirepass 你的redis密码
允许远程连接在(bind 127.0.0.1)前添加 # 注释掉改行并将protected-mode 设置为no
重启redis(systemctl restart redis)并在服务器里进入redis数据库redis-cli,输入auth + 你的redis密码显示OK就说明连接成功
远程连接
redis客户端百度能找到挺多的我使用的是AnotherRedisDesktopManager安装后点击左上角新建连接按下图填写连接信息Auth处填写redis连接密码连接名可随意