介绍
NoSQL:一类新出现的数据库(not only sql)
1. 泛指非关系型的数据库
2. 除了基本类型 (数字、字符串、日期), nosql一般还可以存储其他类型的数据(列表、字典,甚至文件)
3. 数据以键值方式存取, 不能像关系型数据库一样使用外键建立表之间的关系, 无法进行关联查询
4. 每种nosql数据库都有自己的语法, 不支持SQL语法
5.事务的支持:sql对事务的支持非常完善,而nosql基本不支持事务
6. NoSQL中的产品种类相当多, 各有自己擅长的业务场景:
Mongodb 文档数据库 (可以保存文件)
Redis 内存型数据库(数据保存在内存, 性能高)
Hbase 分布式系统 (高一致性, 海量存储, 无缝对接Hadoop)
Cassandra 分布式系统(高可用, 海量存储)
Redis简介
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
Redis是 NoSQL技术阵营中的一员,它通过多种键值数据类型来适应不同场景下的存储需求,借助一些高层级的接口使用其可以胜任,如缓存、队列系统的不同角色
Redis 优势
1. 性能极高 – 内存型数据库,读写速度极快
2. 丰富的数据类型 – 支持存储 Strings, Lists, Hashes, Sets 及 Ordered Sets 等多种数据类型。
3. 数据持久化 – 可以将内存数据保存到磁盘中, 并提供多种存储机制。
4. 数据备份 – 支持主从模式 (master - slave) 的数据备份。
5. 集群 – 支持集群, 并实现了哨兵机制。
6. 丰富的特性 – 设置过期时间, 发布/订阅等机制
Redis应用场景
1. 数据/网页缓存
2. 免密码登录 (记录登录状态)
3. 数据统计, 如排行榜
推荐阅读
redis 安装
redis最新稳定版本下载链接:
http://download.redis.io/releases/redis-4.0.10.tar.gz
step1:下载:
wget http://download.redis.io/releases/redis-4.0.10.tar.gz
step2:解压:
tar xzf redis-4.0.9.tar.gz
step3:移动,放到usr/local⽬录下
sudo mv ./redis-4.0.9 /usr/local/redis/
step4:进⼊redis⽬录:
cd /usr/local/redis/
step5:生成
sudo make
step6:测试,这段运⾏时间会较⻓
sudo make test
返回ok表示成功.
step7:安装,将redis的命令安装到/usr/local/bin/⽬录
sudo make install
step8:安装完成后,我们进入目录/usr/local/bin中查看
cd /usr/local/bin
ls -all
1. redis-server redis服务器
2. redis-cli redis命令行客户端
3. redis-benchmark redis性能测试工具
4. redis-check-aof AOF文件修复工具
5. redis-check-rdb RDB文件检索工具
step9(可选): 配置⽂件,移动到/etc/⽬录下
sudo cp /usr/local/redis/redis.conf /etc/redis/
Mac 上安装 Redis:
安装 Homebrew:
https://brew.sh/
使用 brew 安装 Redis
https://www.cnblogs.com/cloudshadow/p/mac_brew_install_redis.html
配置
查看配置文件:
sudo vi /etc/redis/redis.conf
核心配置选项
绑定ip:如果需要远程访问,可将此⾏注释,或绑定⼀个真实ip
bind 127.0.0.1
端⼝,默认为6379
port 6379
数据库,默认有16个
database 16
是否以守护进程运⾏
设置为yes表示以守护进程运⾏(后台服务),不会在命令⾏阻塞
设置为no表示⾮守护进程, 当前终端被阻塞
daemonize yes
日志文件(错误信息) 存储路径
logfile "/var/log/redis/redis-server.log"
参考资料
redis 配置信息
redis 警告处理
redis常见配置
服务端和客户端
服务器端
开启数据库
redis-server # 以默认配置启动
redis-server ./redis.conf # 以自定义配置启动, 推荐
redis-server --help # 查看帮助⽂档
客户端
连接数据库
redis-cli # 以默认配置连接
redis-cli -h 127.0.0.1 -p 6379 # 连接指定服务的数据库
redis-cli --help # 查看帮助⽂档
测试连接
ping
切换数据库
数据库没有名称,默认有16个,通过0-15来标识,连接redis默认选择第一个数据库
select 10 # 切换到10号库
数据持久化
bgsave # 异步持久化(开启子进程将数据保存到硬盘中)
清空数据库
flushall # 清空所有数据库
flushdb # 清空当前数据库
关闭数据库
shutdown # 关闭数据库(默认情况下,先持久化完数据库, 再关闭)
强制杀死数据库 (不推荐)
# 查看数据库进程的pid
lsof -i:6379
# 或
ps aux | grep redis
# 杀死redis数据库进程
sudo kill -9 pid
下一篇: redis 5中数据类型的操作及常用命令