上周跟着B站的UP主 “狂神说JAVA” 学习了一下Redis,总结一下笔记。
一、NoSQL概述
NoSQL意为 Not Only SQL ,泛指非关系型数据库。
非关系型数据库存储方式可分为:
- 键值对存储
- 列存储
- 文档存储 (BSON)
- 图形关系存储(社交关系)
目前常用的非关系型数据库有:
- 文档型数据库 : MongoDB
- 分布式文件系统: FastDFS、Hadoop(HDFS)
- 关键字搜索 : solr、elasticsearch
- 内存数据库 : Redis、Memache、Tair
下面集中学习一下Redis吧!
二、Redis概述
Redis是 远程字典服务。
Redis是单线程的,redis的瓶颈是根据机器的内存和网络带宽决定的,而不取决于CPU。
Redis的作用:
- 内存存储、持久化(rdb、aof)
- 高速缓存,效率高
- 发布订阅系统
- 地图信息分析
- 计时器、计数器(网站浏览量)等等
Redis的特性:
- 多样的数据类型
- 持久化
- 集群
- 事务
三、Redis部署
Redis推荐在Linux系统上搭建!下面记录如何在Linux系统上搭建Redis:
1、将在官网上下载的Redis安装包复制到存放软件包的路径下(默认放在 /opt 下)
2、解压Redis安装包
tar -xvf redis-5.0.8.tar.gz
3、基本运行环境的安装(Redis是用C写的,第一次安装环境会有一些慢)
yum install gcc -c++
make
make install
4、redis默认安装路径为 /usr/local/bin,将解压redis文件夹下的redis.conf配置文件复制到安装路径下
cd /usr/local/bin
mkdir rconfig
cp /opt/redis-5.0.8/redis.conf rconfig
5、redis默认不是后台运行的,需要修改配置
cd /rconfig
vim redis.conf
将daemonize no 改为 yes ,命令wq 保存文件并退出编辑
6、启动redis服务
redis-server rconfig/redis.conf
7、连接进入客户端(redis的默认端口号为6379)
redis-cli -h 127.0.0.1 -p 6379
默认连接本机,当连接本机时可以不写-h IP地址。
进入客户端后 连接测试:
ping
返回 "PONG"代表连接成功
关闭Redis:
shutdown
退出客户端:
exit
这里就简单的搭建了一个Redis,但在现实生产环境中我们需要搭建的是一个redis集群,需要进行更多的配置。
四、基本redis命令
下面我们来练习一下日常会使用的基本redis命令:
select <n> #切换到第n个数据库,redis默认最初有16个数据库,第一个数据库下标为0!
dbsize #查看当前数据库大小
flushdb #清空当前数据库
flushall #清空所有数据库
set <key> <value> #设置键值对
get <key> #获取键对应的值
keys * #获取内存中所有的键
exists <key> #判断key是否存在,存在返回1;不存在返回0
type <key> #查看key的数据类型
move <key> <n> #将key移到第n个数据库中
expire <key> <seconds> #设置key在seconds秒后过期
ttl <key> #查看key的到期剩余时间