本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Redis
NoSQL
Not-Only SQL (泛指非关系型的数据库),作为关系型数据库的补充。
作用:应对基于海量用户、海量数据和高并发的数据处理问题。
特征:
- 可扩容、可伸缩
- 大数据量下高性能
- 灵活的数据类型
- 高可用
常见NoSQL数据库:
- Redis
- memcache
- HBase
- MongoDB
Redis 简介
Redis(REmote DIctionary Server),高性能键值对(key-value)数据库。
特征:
- 数据间没有必然的关联关系
- 内部采用单线程机制
- 高性能
- 多数据类型支持
- 字符串
string->Map<String, String> - 列表
list->Map<String, List<Object>> - 散列
hash->Map<String, Map<Object, Object>> - 集合
set->Map<String, Set<Object>> - 有序集合
sorted_set
- 字符串
- 持久化支持,可以数据灾难恢复
应用:
- 为热点数据加速查询(主要场景),热点商品、热点新闻等
- 任务队列,如秒杀、抢购、购票排队等
- 即使信息查询,如各位排行榜、各类网站访问统计、公交到站信息等
- 时效性信息控制,如验证码控制等
- 分布式的数据共享
- 消息队列
- 分布式锁
Redis 安装及启动
- 下载压缩包到
/usr/local目录下
redis官方下载cd /usr/local wget http://download.redis.io/releases/redis-5.0.8.tar.gz - 安装 gcc
yum install -y gcc-c++ - 解压 redis
tar -zxvf redis-5.0.8.tar.gz - 编译依赖
cd /usr/local/redis-5.0.8/deps make hiredis jemalloc linenoise lua - 编译 redis
cd /usr/local/redis-5.0.8 make - 安装到
/usr/local/redis目录mkdir /usr/local/redis cd /usr/local/redis-5.0.8 make install PREFIX=/usr/local/redis - 准备配置文件到
/root/myrediscd /usr/local/redis-5.0.8 cp redis.conf /root/myredis/ - 指定配置文件启动服务
cd /usr/local/redis/bin ./redis-server /root/myredis/redis.conf - 配置后台运行服务
vim /root/myredis/redis.conf # 修改 daemonize no 改为 daemonize yes - 停止服务
./redis-cli shutdown
命令
配置文件
常见配置
bind绑定ip,仅绑定的ip可以连接redisportredis端口timeout断开连接时间,0则关闭功能daemoniz是否以守护进程启动save在指定时间内有指定次数的操作则保存dbrequirepass指定连接密码