欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Redis非关系型数据库

程序员文章站 2022-06-18 16:57:57
...

Redis

理解nosql的概念

nosql=Not Only SQL,意为“不仅仅是SQL”,是一项全新的数据理念,泛指非关系型的数据库

关系型数据库与非关系型数据库的区别

  • 关系型数据库特点
  1. 数据是由一张张的表组成,而且这些表与表之间有关系(一对一,一对多,多对多)
  2. 数据是存在硬盘上,每次访问时,是将数据从硬盘读取到内存中
  • 非关系型数据库(Redis)的特点
  1. 数据是由一个个的键值对,键 值,键 值
  2. 数据是存在内存中,在满足需要的时候,也可以将数据存在硬盘上(Redis的持久化)

redis的介绍

  • 什么是Redis?

redis(Remote Dictionary Server ) 远程字典服务,是一个非关系型数据库,非关系型数据库被称为NOSQL数据库

  • Redis有什么用?

Redis一般用来存储经常访问的,但是不经常改变的数据

使用redis的string操作命令

set name baoqiang  //添加一个键值对  如果键存在,则修改  set()
   get name           //根据键获取值
   del name           //根据键删除键值对
   mget name age      //根据多个键查看值

使用redis的hash操作命令

	hset myhash username haohao  //添加数据
  hset 北京    111     冰冰
  hget myhash username         //根据大键和小键获取值
  hdel myhash username         //根据大键和小键删除值

使用redis的list操作命令

	  lpush mylist a b c  //压栈 添加数据,键为mylist 值为:a b  c
   lpop  mylist        //从左边弹栈  删除操作,删除的顺序和添加的顺序相反
   rpop  mylist        //从右边弹栈

使用redis的set操作命令

	 //这里的值不能重复
   sadd myset a b c  //添加数据
   smembers myset    //获取数据
   srem myset a b    //删除数据

redis的两种持久化机制

Redis持久化-RDB

就是将Redis的数据从内存中保存到硬盘上持久化之后,会在解压后的文件夹中生成一个dump.rdb文件,该文件中就保存你内存中的数据

  • 1)RDB持久化是什么(重点)
    指定频率将Redis数据持久化
    • Redis默认就支持该方式,你什么都不用做,Redis会自动的将内存的数据存储到硬盘中
    • save 900 1 //900秒以内 ,如果至少有一个键的值发生变化, 则Redis自动持久化
    • save 300 10 //300秒以内 ,如果至少有10个键的值发生变化, 则Redis自动持久化
    • save 60 10000 //60秒以内 ,如果至少有10000个键的值发生变化, 则Redis自动持久化

Redis持久化-AOF

Redis非关系型数据库

  • 什么是AOF
    每次操作立即持久化
    该机制可以带来更高的数据安全性,即数据持久性
  • Redis默认不支持该方式
    1)所以我们需要修改配置文件,让Redis支持
    2)修改配置文件:
    392: appendonly no 将no改为yes
    3)重启服务器
    不能直接双击: redis-server.exe 而是打开startup.bat脚本文件(手动指定配置文件)
    4) Redis会在解压后的文件夹中自动生成一个文件:appendonly.aof文件
    5)默认情况下,AOF是一秒钟持久化一次
    appendfsync everysec