Redis 使用入门

NoSql概述

NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,它泛指非关系型的数据库,

 

Redis 是一个高性能的开源的、C语言写的Nosql(非关系型数据库),数据保存在内存/磁盘中。

 

Redis 是以key-value形式存储,和传统的关系型数据库不一样。不一定遵循传统数据库的一些基本要求,比如说,不遵循sql标准,事务,表结构等等,redis严格上不是一种数据库,应该是一种数据结构化存储方法的集合。

 

 

 

数据结构:   

  String set list zset(有序并且不可重复集合) hash(map)等      

  redis存储数据都是以字符串的方式进行存放,它只是把最终存储的结果值,以一定结构进行存储,

redis提供了一堆操作方法[一堆命令],我们使用这些方法就可以存入字符串,组织成各种数据结构(string,list,set,map),使用起来更加方便。

 

 

特点(优势)

 

1.数据保存在内存,存取速度快,并发能力强

 

2.它支持存储的value类型相对更多,包括string(字符串)list()set(集合)zset(sorted set --有序集合)hash(哈希类型 - map)。

 

3.redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库(如MySQL)起到很好的补充作用。

 

4.它提供了JavaC/C++C#PHPJavaScript等客户端,使用很方便。

 

5.Redis支持集群(主从同步)。数据可以主服务器向任意数量从的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。

 

6.支持持久化,可以将数据保存在硬盘的文件中

 

7.支持订阅/发布subscribe/publish)功能 QQ - 群发

 

 

 

 

 

总结:

 

0)   开源免费

 

1) 数据存储:存放在内存,还支持持久化.-存取速度快,并发能力强,数据安全高

 

2) 支持value类型更多

 

3) 支持多个语言客户端

 

4) 还支持集群(支持高并发,海量数据)

 

 

 

 

                                                MysqlMemcached和Redis的比较

 

 

 

mysql

redis

memcached

类型

关系型

非关系型

非关系型

存储位置

磁盘

磁盘和内存

内存

存储过期

不支持

支持

支持

读写性能

非常高

非常高

 

 

 

 

淘汰策略

 

淘汰一些数据,达到redis数据都是有效的,节约内存资源。选择合适的淘汰策略进行淘汰。

 

 

淘汰一些数据,达到redis数据都是有效的。选择合适的淘汰策略进行淘汰。

volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中挑选最近最少使用的数据淘汰

volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中挑选将要过期的数据淘汰

volatile-random:从已设置过期时间的数据集(server.db[i].expires)中任意选择数据淘汰

allkeys-lru:从所有数据集server.db[i].dict)中挑选最近最少使用的数据淘汰

allkeys-random所有数据集server.db[i].dict)中任意选择数据淘汰

no-enviction(驱逐):禁止驱逐数据

redis 确定驱逐某个键值对后,会删除这个数据并,并将这个数据变更消息发布到本地(AOF 持久化)和从机(主从连接)。

Redis存放数据永远过期。 allkeys-lru

volatile-lru,volatile-ttl随意就OK

并且对于缓存而已,就算错误删除也没有关系,如果不是缓慢,集群。

 

 

 

 

Redis持久化配置

 

 

Redis持久化配置在 文件redis.windows.conf 修改操作启用和配置rdb和aof

1 . RDB模式

RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照,默认开启该模式.

 

# save 900 1        //至少在900秒的时间段内至少有一次改变存储同步一次

 

# save xxx

 

# save 60 10000

 

 

2 . AOF追加模式

  

AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集,默认关闭该模式。

如何开启aof模式:

appendonly yes         //yes 开启,no 关闭

# appendfsync always //每次有新命令时就执行一次fsync 

#这里我们启用 everysec

appendfsync everysec //每秒 fsync 一次

# appendfsync no      //从不fsync(交给操作系统来处理,可能很久才执行一次fsync)

 

 

appendfilename "appendonly.aof"  是产生的文件储存(可以改为别名)放在redis.windows.conf文件的相同文件夹,

文件是redis的命令

*后面的数字代表命令个数($数),

$后面的数字代表单个命令的字母数,

 

 

 

posted @ 2021-02-26 18:17  接口interface  阅读(180)  评论(0编辑  收藏  举报