Redis简介和安装
Redis简介
什么是Redis
Redis (Remote Dictionary Server)远程字典服务器,是用C语言开发的一个开源的高性能键值对( key-value )内存数据库。
它提供了五种数据类型来存储值:字符串类型、散列类型、列表类型、集合类型、有序集合类型
它是一种 NoSQL 数据存储。
Redis发展历史
2008年,意大利的一家创业公司 Merzia 推出了一款基于 MySQL 的网站实时统计系统 LLOOGG ,然而没
过多久该公司的创始人 Salvatore Sanfilippo ( antirez)便 对MySQL的性能感到失望,于是他决
定亲自为 LLOOGG 量身定做一个数据库,并于2009年开发完成,这个数据库就是Redis。
-
Redis2.6
Redis2.6在2012年正式发布,主要特性如下:
服务端支持Lua脚本、去掉虚拟内存相关功能、键的过期时间支持毫秒、从节点提供只读功能、两个新的位图命令:bitcount和bitop、重构了大量的核心代码、优化了大量的命令。
-
Redis2.8
Redis2.8在2013年11月22日正式发布,主要特性如下:
添加部分主从复制(增量复制)的功能、可以用bind命令绑定多个IP地址、Redis设置了明显的进程名、发布订阅添加了pubsub命令、Redis Sentinel生产可用
-
Redis3.0
Redis3.0在2015年4月1日正式发布,相比于Redis2.8主要特性如下:
Redis Cluster:Redis的官方分布式实现(Ruby)、全新的对象编码结果、lru算法大幅提升、部分命令的性能提升
-
Redis3.2
Redis3.2在2016年5月6日正式发布,相比于Redis3.0主要特征如下:
添加GEO相关功能、SDS在速度和节省空间上都做了优化、新的List编码类型:quicklist、从节点读取过期数据保证一致性、Lua脚本功能增强等
-
Redis4.0
Redis4.0在2017年7月发布,主要特性如下:
提供了模块系统,方便第三方开发者拓展Redis的功能、PSYNC2.0:优化了之前版本中,主从节点切换必然引起全量复制的问题、提供了新的缓存剔除算法:LFU(Last Frequently Used),并对已有算法进行了优化、提供了RDB-AOF混合持久化格式等
Redis应用场景
-
缓存使用,减轻DB压力
-
DB使用,用于临时存储数据(字典表,购买记录)
-
解决分布式场景下Session分离问题(登录信息)
-
任务队列(秒杀、抢红包等等) 乐观锁
-
应用排行榜 zset
-
签到 bitmap
-
分布式锁
-
冷热数据交换
Redis单机版安装和使用
Redis下载
官网地址:http://redis.io/
中文官网地址:http://www.redis.cn/
下载地址:http://download.redis.io/releases/
Redis安装环境
Redis 没有官方的 Windows 版本,所以建议在 Linux 系统上安装运行。
我们使用 CentOS 7 作为安装环境。
Redis安装
-
第一步:安装 C 语言需要的 GCC 环境
1
2
3[root@Linux121 ~]# yum install -y gcc-c++
[root@Linux121 ~]# yum install -y wget -
第二步:下载并解压缩 Redis 源码压缩包
1
2
3
4
5[root@Linux121 ~]# cd /opt/lagou/software
[root@Linux121 software]# wget http://download.redis.io/releases/redis-5.0.5.tar.gz
[root@Linux121 software]# tar -zxf redis-5.0.5.tar.gz -
第三步:编译 Redis 源码,进入 redis-5.0.5 目录,执行编译命令
1
2
3[root@Linux121 software]# cd redis-5.0.5/src
[root@Linux121 src]# make -
第四步:安装 Redis ,需要通过 PREFIX 指定安装路径
1
2
3[root@Linux121 src]# mkdir /usr/redis -p
[root@Linux121 src]# make install PREFIX=/usr/redis -
第五步:查看安装路径是否安装完成
1
2
3
4
5
6
7
8
9
10[root@Linux121 src]# cd /usr/redis
[root@Linux121 redis]# cd bin
[root@Linux121 bin]# ll
总用量 32736
-rwxr-xr-x. 1 root root 4366680 7月 8 04:21 redis-benchmark
-rwxr-xr-x. 1 root root 8111936 7月 8 04:21 redis-check-aof
-rwxr-xr-x. 1 root root 8111936 7月 8 04:21 redis-check-rdb
-rwxr-xr-x. 1 root root 4806920 7月 8 04:21 redis-cli
lrwxrwxrwx. 1 root root 12 7月 8 04:21 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 8111936 7月 8 04:21 redis-server
Redis启动
前端启动
-
启动命令: redis-server
1
2
3[root@Linux121 ~]# cd cd /usr/redis/bin
[root@Linux121 bin]# ./redis-server
-
关闭命令: ctrl+c
-
启动缺点:客户端窗口关闭则 redis-server 程序结束,不推荐使用此方法
后端启动(守护进程启动)
-
第一步:拷贝 redis-5.0.5/redis.conf 配置文件到 Redis 安装目录的 bin 目录
1
[root@Linux121 ~]# cp /opt/lagou/software/redis-5.0.5/redis.conf /usr/redis/bin/
-
第二步:修改 redis.conf
1
2
3
4
5
6
7
8
9
10[root@Linux121 ~]# cd /usr/redis/bin/
[root@Linux121 bin]# vim redis.conf
# 将`daemonize`由`no`改为`yes`
daemonize yes
# 默认绑定的是回环地址,默认不能被其他机器访问
# bind 127.0.0.1
# 是否开启保护模式,由yes该为no
protected-mode no -
第三步:启动服务
1
[root@Linux121 bin]# ./redis-server redis.conf
-
后端启动的关闭方式
1
[root@Linux121 bin]# ./redis-cli shutdown
-
命令说明
redis-server :启动 redis 服务
redis-cli :进入 redis 命令客户端
redis-benchmark : 性能测试的工具
redis-check-aof : aof 文件进行检查的工具
redis-check-dump : rdb 文件进行检查的工具
redis-sentinel : 启动哨兵监控服务
Redis命令行客户端
命令格式
1 | [root@Linux121 bin]# ./redis-cli -h 127.0.0.1 -p 6379 |
-h:redis服务器的ip地址
-p:redis实例的端口号
如果不指定主机和端口也可以,默认主机地址是127.0.0.1,默认端口是6379
1 | [root@Linux121 bin]# ./redis-cli |
注意: 打开命令行客户端,必须启动redis服务,前端打开新窗口就可以