• Redis


    1.概念:redis是一款高性能的NOSQL系列的非关系型数据库
                关系型数据库:数据之间有关联关系,数据存储在硬盘的文件上
                非关系型数据库:数据之间没有关联关系,数据存储在内存中
                是一款用C语言开发的一个开源的高性能键值对(Key-Value)数据库
                目前Redis数据库支持的数据类型为
                字符串类型String 哈希类型 hash 列表类型 list 集合类型 set 有序集合类型 sortedset
                1.1NQL
                    NOSQL(NoSQL = Not Only SQL),意味"不仅仅是SQL",是一项全新的数据库理念,泛指没有关系的数据库
                1.2NSQ与关系型数据库比较
                优点:
                    成本:nosql数据库简单部署,基本都是开源软件,不需要使用oracle那个大量成本,
                    查询速度:nosql数据库将数据存储于缓存中,关系型数据库将数据存入硬盘之中,自然查询速度远不及nosql数据库
                    数据存储格式:nosql的存储格式是key,value形式,文档形式,图片形式等等,所以可以存储基础类型以及对象或是集合等各种格式,而数据库只支持基础类型
                    扩展性:关系型数据库有类似join这样的多表查询机制导致扩展很艰难
                缺点:
                    维护的工具和资料有限,不能和关系型数据库十几年的技术同日而语
                    不提供对sql的支持,如果不支持sql这样的工业标准,将产生一定胡勇的学习和使用成本
                    不提供关系型数据库对事物的处理
                非关系数据库的优势
                    性能nosql是基于键值对的,可以相信成表中的主键和值的对应关系,而且不需要经过sql层的解析,所以性能非常高
                    可扩展性同样也是基于键值对,数据之间没有耦合性,所以非常容易水平扩展
                2.下载于安装
                    官网:https://redis.io/
                    中文网:https://www.redis.net.cn/

            3.命令操作
                    1.redis的数据结构
                        redis的存储是Key-value格式的数据,其中key都是字符串,value有物种不同的数据结构
                        字符串类型String 哈希类型 hash 列表类型 list 集合类型 set 有序集合类型 sortedset
                    2.字符串类型String
                        1.存储:set key value
                        2.获取:get key
                        3.删除:del key
                    3.哈希类型 hash
                        1.存储:hset key field value
                        2.获取:hget key filed
                            获取所有的key:hget key 
                        3.删除:hdel key field 
                    4.列表类型:list可以添加一个元素到列表的头部(左边)或者尾部(右边)
                        添加:
                          

    1.  lpush key value:将元素加入列表左边
    2.                         rpush key value 将元素加入列表右边


                        获取:
                          

     lrang key start end  :范围的一个获取


                        删除:
                          

    1.  lpop key:删除列表最左边的元素,并将元素返回
    2.                         rpop key:删除列表最右边的元素,并将元素返回


                    5.集合类型:set不允许重复元素
                        1.存储:sadd key value
                        2.获取:smemvers key:获取set集合所有元素
                        3.删除:srem key value:删除set集合中的某个元素
                    6.有序集合类型:sortedset
                        Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
                        不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。
                        1.存储:zadd key score value:
                        2.获取:zrange key start end
                        3.删除:zrem key value
                    7.通用命令
                      

    1.   keys *:   查询所有的键
    2.                     type  key:   获取键对应的value的类型
    3.                     del key:删除指定的key value


                4.持久化
                    1.redis是一个内存数据库,当redis服务器重启,或者电脑重启了,我们可以将redis内存中的数据持久化保存到硬盘的文件中
                    2.redis持久化机制:
                        1.RDB:默认方式,不需要进行配置,默认就使用这种机制
                            *在一定的间隔时间中,检测key的变化情况,然后持久化数据
                            在一定的间隔时间中,检测key的变化情况,然后持久化数据
                            编辑redis.conf
                            

    1. save 900 1
    2. #   after 900 sec (15 min) if at least 1 key changed   在十五分钟内又1个key发生改变
    3. save 300 10
    4. #   after 300 sec (5 min) if at least 10 keys changed    在五分钟内又三百个key发生改变
    5. save 60 10000
    6. #   after 60 sec if at least 10000 keys changed   在60s内又10000key发生改变


                        2.AOF:日志记录的方式,可以记录每一条命令的操作,可以每一次命令操作后,持久化数据
                            编辑redis.conf
                                    

    1. appendonly no (默认关闭)--》appendonly yes (开启aof)
    2. # appendfsync always   每一次操作都执行持久化
    3. appendfsync everysec   每隔一秒进行一次持久化
    4. # appendfsync no  不进行持久化

  • 相关阅读:
    嵌入式C语言(入门必看)
    概率论与数理统计
    vc根据ip改host文件
    FPGA——SPI总线控制flash(1)(含代码)
    用__LINE__和函数内无名enum推算常量,用于定义固定长度数组
    基于Huffman码实现的编码译码系统
    网络分析笔记08:解析TCP/IP的TCP协议
    【Swift 60秒】60 - Creating your own structs
    【MATLAB教程案例42】语音信号的MFCC特征提取matlab仿真
    Docker容器-------harbor私有仓库部署与管理
  • 原文地址:https://blog.csdn.net/weixin_50991263/article/details/127689288