Redis 简介
问题现象
- 海量用户
- 高并发
- 性能瓶颈:磁盘IO性能低下
- 扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群
- 降低磁盘IO次数,越低越好 —— 内存存储
- 去除数据间关系,越简单越好 —— 不存储关系,仅存储数据
- 可扩容,可伸缩
- 大数据量下高性能
- 灵活的数据模型
- 高可用
常见 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
- 为热点数据加速查询(主要场景),如热点商品、热点新闻、热点资讯、推广类等高访问量信息等
- 即时信息查询,如各位排行榜、各类网站访问统计、公交到站信息、在线人数信息(聊天室、网站)、设备信号等
- 时效性信息控制,如验证码控制、投票控制等
- 分布式数据共享,如分布式集群架构中的 session 分离
- 消息队列
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-server [--port port]
redis-server --port 6379
redis-server config_file_name
redis-server redis.conf
redis-cli [-h host] [-p port]
redis-cli –h 61.129.65.248 –p 6384
mkdir conf
mkdir data
配置文件中的配置:
daemonize yes|no
bind ip
port port
dir path
maxclients count
timeout seconds
loglevel debug |verbose| notice | warning
logfile filename
set key value
set name itheima
get key
get name
help [command]
help set
help [ @ group-name]
help @string
quitexit
Ctrl+C
基于yum的安装Redis
直接使用yum安装redis(yum install redis)
启动redis(service 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连接密码,连接名可随意: