文章目录
NoSQL
1、概念
not only sql
其指的是非关系型数据库,是对不同于传统的关系型数据库的数据库管理的统称,NoSQL是web2.0时代海量数据的产物
2、特点
不支持SQL语法
- NoSQL的世界中没有一种通用的语法,每种NoSQL数据库都有自己的语法,以及擅长的业务场景
读写性能高
- NoSQL数据库存储在于内存当中,都具有非常高的读写性能,尤其在海量数据下,它的表现非常优秀
灵活的数据模型
- NoSQL的存储方式十分灵活,存储方式可以是JSON文档、键值对或者其他方式
Redis
Redis,以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。使用C语言编写,并以内存作为数据存储介质,所以读写效率极高
1、特点
- Redis支持数据持久化存储,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载使用
- Redis不仅仅支持简单的key-vlue类型的数据,同时把value分为list、set、zset、hash等数据结构
- 因为Redis交换数据块,所以在服务器中常用来存储一些需要频繁调取的数据,提高效率
2、启动和关闭
查看Redis服务
redis-server
关闭Redis服务
redis-cli SHUTDOWN
这样关闭可以保存数据,强行停止会丢失数据
命令行客户端
-
将命令作为
redis-cli
的参数执行-
redis-cli -h 127.0.0.1 -p 6379
-
redis-cli PING
-p 后面输入的是端口号
ping的作用的是检查数据库是否连接成功
-
-
进入交互模式
-
redis-cli
-
多数据库
Redis默认支持16个数据库,从0开始的递增数字命名
SELECT 1
SELECT来选择要存储的数据库
3、基础命令
设置键和值
通过SET key value
来设置一个新的键值对
SET bar 1
MSET bar1 a bar2 b # 同时设置多个
获取符合规则的键名和列表
通过GET key
来获取key
所对应的value
通过KEYS pattern
来获取数据中拥有的key
KEYS *
GET bar # 存在返回对应的value值,没有返回null表示空的意思
MGET bar1 bar2 # 同时获得多个
其中的pattern可以是?、*、[]、\,用法符合正则的使用
判断是否存在
EXISTS key
如果键存在则返回整数类型1,否则返回0
EXISTS bar
对键重命名
RENAME key new_key
对键值重新命名
RENAME bar bar1
设置key过期时间
通过EXPIRE key seconds
来设置过期时间,-1表示删除
SET bar abc
EXPIRE bar 100
TTL
可以查看key剩余的时间,-1表示永久,-2表示不存在<