Redis非关系型数据库

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非关系型数据库_第1张图片

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

你可能感兴趣的:(javaWeb,redis,java,数据库)