reids使用详情,全面详解

Nosql介绍

  • 非关系性数据库
  • 不支持sql语法
  • nosql没有通用语言,每种语言都有自己得语法
  • sql对事物支持完善,而nosql基本不支持事务
  • Nosql有redis,mongodb,hbase hadoop等等。

Redis简介

  • redis 是一个开源免费得,遵守BSD协议,是一个高性能得key-value得非关系型数据库。
  • redis是nosql技术,通过多中键值类型来适应不同场景下得需求,借助一些高级得接口使用可以胜任,如缓存,队列系统得不用角色。

Redis特性与优势

  • redis支持数据得持久化,可以将内存中的数据保存在磁盘中,重启得是时候可以再次加载使用
  • redis不仅仅支持简单得key-value类型得数据,同时还提供list,set,zest,string,hash
  • reidis支持数据得备份即master-slave模式数据备份
  • 性能极高redis能读得速度是110000次/s,写的速度是81000次/s
  • 丰富得数据类型redis支持二进制案例得string,lists,hashes,sets即ordered sets数据类型操作
  • 原子redis得所有操作都是原子性(要么都成功要么都失败)
  • 丰富得特性redis还支持publish/subscribe,通知key过期等

Redis应用场景

用来做缓存,token生成,session共享,分布式锁,自增id,验证码

Redis得安装

官网:www.redis.io.com
pip install redis-server

Redis得数据结构

  • redis是key-value得数据结构
  • 键得类型是字符串
  • 键不允许重复
    reids使用详情,全面详解_第1张图片

String类型 储存字符串

保存和获取数据

  • 设置键值
    set key value
    reids使用详情,全面详解_第2张图片

  • 设置键值即过期时间
    setex key seconds value

    reids使用详情,全面详解_第3张图片

  • 设置一键多值
    mset key1 value1 key2 value2 ....
    reids使用详情,全面详解_第4张图片

  • 追加值,有该键名称则覆盖
    append key value
    在这里插入图片描述

  • 获取一键多值,,若该key不存在则返回null
    mget key1 key2 .....
    reids使用详情,全面详解_第5张图片

  • 获取该键得值在这是值
    getset key value
    reids使用详情,全面详解_第6张图片

  • 将key得value原子性得递增1,如果key不存在则初始值为0,在incr之后为1
    incr key
    reids使用详情,全面详解_第7张图片

  • 将指定得key得vlaue得原子性递减1,若无该键,初始为0,递减后为-1
    decr key
    reids使用详情,全面详解_第8张图片

Hash类型

hash用于储存对象,对象结构为属性,值类型为string

增删改获数据

  • 设置单个属性 field属性
    hset key field value
    reids使用详情,全面详解_第9张图片
  • 设置多个属性
    hset key field1 value1 field2 value2.... hmset key field1 value1 field2 value2....
    reids使用详情,全面详解_第10张图片
  • 获取键名
    hkeys key
    在这里插入图片描述
  • 获取属性值
    hget key field hmget key field1 field2...
    reids使用详情,全面详解_第11张图片
  • 获取所有属性
    hvals key
    在这里插入图片描述
  • 删除整个hash键及值,使用del命令
  • 删除属性,属性对应得值也会被删除
    hdel key filed1 field2...
    reids使用详情,全面详解_第12张图片
  • 获取所有得属性和值
    hgetall key
    reids使用详情,全面详解_第13张图片
  • 判断指定得key中field是否存在
    hexists key field
    reids使用详情,全面详解_第14张图片
  • 获取key所有包含得field得数量
    hlen key
    在这里插入图片描述

List类型

按照插入元素排序
增删获数据

  • 在左侧插入元素
    lpush key value1 value2...
    reids使用详情,全面详解_第15张图片
  • 右侧插入数据
    rpush key value1 value2...
    reids使用详情,全面详解_第16张图片
  • 在指定元素得前后插入新得元素
    linsert key before或after 现有元素 新元素
    reids使用详情,全面详解_第17张图片
  • 设置指定索引位置元素得值
    lset key index value
    reids使用详情,全面详解_第18张图片
  • 删除元素
    lrem key count value lrem key index value
    reids使用详情,全面详解_第19张图片
  • 弹出头部和尾部元素
    头lpop 尾rpop
    reids使用详情,全面详解_第20张图片

Set集合类型

  • 无序集合

  • 元素具有唯一性,不重复

  • 集合没有修改操作
    增删获数据

  • 添加和获取元素
    sadd key member1 member2... smembers key
    reids使用详情,全面详解_第21张图片

  • 删除指定元素和删除键
    删除指定元素 srem key member
    reids使用详情,全面详解_第22张图片

  • 获取set中成员数量
    scard key
    在这里插入图片描述

Zset有序集合

  • 元素具有唯一性不能重复

  • 每个元素都会关联一个double类型得socre,表示权重,通过权重从小到大

  • 没有修改操作
    增删获数据

  • 添加和获取数据
    zadd key score1 member1 score2 menber2.... zrange key start stop
    reids使用详情,全面详解_第23张图片

  • 删除数据
    zrem key member1 member2...
    reids使用详情,全面详解_第24张图片

  • 删除权重在5-6之间元素
    zremrangebyscore key score
    reids使用详情,全面详解_第25张图片

  • 查看成员所在集合中得排名
    zrank key member
    在这里插入图片描述

键得所有操作

keys pattern:获取所有与pattern匹配得key 
del key1 key2 ... :删除指定key
exists key :判断key是否存在 1存在 0不存在
rename key newkey : 为key重命名
ttl key:获取key所剩超时时间,如果没有返回-1
persist key : 持久化key
缓存详解:https://blog.csdn.net/weixin_42719242/article/details/98780644
数据库理论:https://blog.csdn.net/weixin_42719242/article/details/98215996

你可能感兴趣的:(nosql,redis使用,数据库,nosql)