NoSQL
介绍Redis之前,先了解下NoSQL (Not noly SQL)不仅仅是SQL
属于非关系型数据库;Redis就属于非关系型数据库
传统的Mysql ,oracle ,sql server 等 都是关系型数据库
NoSQL的特点
易扩展
灵活的数据模型
大数据量,高性能
高可用
高性能键值对数据库,支持的键值数据类型
字符串类型
列表类型
有序集合类型
散列类型
集合类型
Redis简介
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。
它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,
同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区
学习网址:https://www.w3cschool.cn/redis/.
Redis的服务端安装
yum install gcc-c++ (gcc编译c的,因为redis是c编写的,所以我们先安装下gcc)
安装完后将redis的安装包传到虚拟机中
进行解压
再进入解压后的redis的目录中进行编译
cd redis-5.0.2/(进入目录)
Make(编译)
启动和关闭redis服务
如果看到这个图 那么就是开启成功了
然后外面需要开启后进行操作 就需要开启守护线程
开启守护进程 不开启的话 不能做其他操作
vi redis.conf
退出保存,然后测试redis服务是否连接成功
daemonize no
daemonize yes
出现下面效果说明服务连接成功
指定文件开启服务
./src/redis-server redis.conf
ctrl+c 退出当前程序
./src/redis-cli (使用redis)
Exit(退出)
Redis支持五种数据类型
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
通过命令操作redis(命令不区分大小写)
redis默认的数据库有16,mongodb是3个:admin/local/test
redis-cli #打开redis终端
select index #选择指定的数据库,默认的数据库有16,mongodb是3个:admin/local/test
字符串
set name #保存
get name #获得
type name #查看类型
keys *
del name
哈希(Hash),Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
hset key attr1 value1 attr2 value2
hget key attr1
hgetall key
列表(List)
lpush key value1 value2 value3
llen key
lindex key index
lrange key start stop #stop可以为-1,到末尾的意思
Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
sadd key value #sadd idcard 100
sadd key value1 value2 vlaue3
scard key
sscan key cursor [MATCH pattern] [COUNT count]
redis持久化策略
aof
特点:
1、数据是以文件的形式存储
2、每当数据发生改变的时候,都会记录一次日志,就同步一次数据库
rdb
特点:
1、数据是保存在内存,数据是容易丢失的,读写速度快
2、内存发生改变的时间,有redis.conf中的设置有关