[TOC]
Ubuntu Redis安装、简介、配置、客户端 服务端命令
一、 Redis介绍
1.1 NoSQL数据库:
- 泛指非关系型数据库。不仅可以存储基本类型(数字、字符串、日期),还可以存储其它类型的数据(列表、字典、文件等)
- 数据以键值的方式存取,无法进行关联查询。与关系型数据库不一样,不能使用外键建立表之间的关系。
- 每种NoSQL数据库都有自己的语法,不支持SQL语法。并且基本不支持事务
- Mongodb文档数据库(可以保存文件)、Redis内存型数据库(数据保存再内存性能高)、Hbase分布式系统(高一致性,海量存储,无缝对接Hadoop)、Cassandrs分布式系统、等都是NoSQL型数据库
1.2 Redis
- 通过多种键值数据类型来适应不同场景下的存储需求。
-
特点:
- 性能极高——存储再内存中,读写的速度快
- 数据类型广——支持存储String,Lists,Hashes,Sets,Ordered Sets等多种数据类型
- 可以设置过期时间,对数据进行淘汰
- 无法保证数据的一致性,无法回滚,因为不完整的事务
- 数据持久化,出于性能考虑,不是高可靠的。
- 通过 Redis哨兵(Sentinel)和自动分区(Cluster)提供高可用性(high availability)
- 应用场景
- 数据/网页缓存 2. 免密码登录(记录登录状态) 3. 数据统计, 如排行榜
- Redis中文翻译网站
二、Redis安装
2.1 Ubuntu安装
-
删除已有的redis
sudo rm -f /usr/bin/redis*
-
下载redis包: http://download.redis.io/releases/redis-4.0.10.tar.gz
wegt http://download.redis.io/releases/redis-4.0.10.tar.gz
-
解压
tar xzf redis-4.0.9.tar.gz
-
移动,放在use/local目录下
sudo mv ./redis-4.0.9 /usr/local/redis
-
进入redis目录 生成
cd /usr/local/redis sudo make
-
测试,这段运行时间较长
sudo make set
-
将redsi的命令安装到/usr/local/bin/目录
sudo make install # 安装完后进入目录查看 cd /usr/local/bin ls -all
- redis-server redis的服务器
- redis-cli redis的命令工具
- redis-benchmark redis性能测试工具
- redis-check-aof AOF文件修复工具
- redis-check-rdb RDB文件检索工具
-
配置文件移动到 /etc/目录下(可选操作)
sudo cp /usr/local/redis/redis.conf /etc/redis
三、配置
-
Ubuntu的配置模板路径默认放在安装目录下。我们配置再 /etc/redis/redis.conf. 可以进去查看
sudo vi /etc/redis/redis.conf
-
核心配置选项
-
绑定ip:如果需要远程访问,可以将这行注释掉,或者绑定一个真实的IP,或者变成0.0.0.0
bind 127.0.0.1
-
端口,默认为6379
port 6379
-
数据库, 默认16个
database 16
-
是否以守护进程运行
- 设置为yes表示以守护进程运行(后台服务),不会在命令行阻塞
- 设置为 no表示非守护进程,当前终端被阻塞。
daemonize yes
-
日志文件(错误信息)存储路径
ogfile "/var/log/redis/redis-server.log"
四、客户端服务器端命令
4.1 服务器端
-
开启数据库
redis-server # 以默认配置启动 redis-server ./redis.conf # 以自定义配置启动。 redis-server --help # 查看帮助文档
4.2 客户端
-
连接数据库
redis-cli #以默人配置连接 redis-cli -h 127.0.0.1 -p 6379 # 连接指定的服务数据库
-
测试连接 当进入数据库时
ping
-
-
切换数据库,数据库没有名称。默认16个,通过 0-15 来标识,默认选择第一个
select 10
-
数据持久化
bgsave # 异步持久化(开启子线程将数据从内存中保存到硬盘中)
-
清空数据库(工作中凡是对数据进行删除操作的慎用)
flushall # 清空所有数据库 flushdn # 情况当前数据库
-
关闭数据库
shutdown # 关闭数据库(默认情况下 先持久化, 再关闭)
-
强制杀死数据库(不推荐)
# 查看数据库进程的pid lsof -i:6379 # 或 ps aux | grep redis # 杀死redis数据库进程 sudo kill -9 pid