redis

作者: 现实里的童话xklss | 来源:发表于2018-10-11 08:33 被阅读0次

    redis

    NoSQL:一类新出现的数据库(not only sql),它的特点:不支持SQL语法 存储的数据都是KV形式 每种nosql数据库都有自己的api和语法

    Redis 简介

    Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库 缓存、队列

    Redis 特性

    Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
    Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储
    Redis支持数据的备份,即master-slave模式的数据备份。

    Redis 优势

    性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
    Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
    原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
    丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

    Redis应用场景

    用来做缓存(ehcache/memcached)——redis的所有数据是放在内存中的(内存数据库)
    可以在某些特定应用场景下替代传统数据库——比如社交类的应用
    在一些大型系统中,巧妙地实现一些特定的功能:session共享、购物车

    端⼝,默认为6379
    数据库没有名称,默认16个,通过0-15来标识,链接redis默认选择第一个数据库
    连接redis :redis-cli
    redis是key-value的数据结构,每条数据都是⼀个键值对 键的类型是字符串(键不能重复)

    redis 数据操作行为: 保存 修改 获取 删除

    string类型 :在redis中以二进制呈现 安全 在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

    保存:
    set key value 设置键值
    setex key seconds value 设置键值以及过期时间,时间紧以秒为单位
    mset key1 value1 key2 value2 设置多个键值
    append key value 追加值
    获取:
    get key 根据键获取值 如果不存在此键返回nil
    mget key1 key1 根据多个键获取多个值
    键命令:
    keys * 查看所有的键
    keys pattern 查找键,参数支持正则表达式
    exists key 判断键是否存在,如果存在返回1,不存在返回0
    type key 查看键对应的value 的类型
    del key1 key2 ... 删除键对应的值
    expire key seconds 设置过期时间,以秒为单位,如果没有指定的过期时间则一直存在,知道被del删除
    ttl key 查看有效事件,以秒为单位 当key不存在时,返回-2
           当key存在但没有设置剩余生存时间时,返回-1
           否则,以秒为单位,返回key的剩余生存时间

    hash类型:hash⽤于存储对象,对象的结构为属性、值  值的类型为string

    增加:hset key field value 设置单个属性
    hmset key field1 value1 field2 value2 设置多个属性
    获取:hkeys key 获取指定键所有的属性
    hget key field 获取一个属性的值
    hmget key field1 field2 .... 获取多个属性的值
    hvals key 取所有属性的值
    删除:hdel key field1 field2 ... 删除属性,属性对应的值会被⼀起删除
    说明: 删除整个hash键及值,使⽤del命令

    list类型:

    增加:lpush key value1 value2 ...   在左侧插⼊数据
       rpush key value1 value2 ...   在右侧插⼊数据
       linsert key before|after piovt value   在指定元素的前或后插⼊新元素
    获取:返回列表⾥指定范围内的元素
    start、stop为元素的下标索引
    索引从左侧开始,第⼀个元素为0
    索引可以是负数,表示从尾部开始计数,如-1表示最后⼀个元素
    语法:lrange key start stop
    设置指定索引位置的元素值
    索引从左侧开始,第⼀个元素为0
    索引可以是负数,表示尾部开始计数,如-1表示最后⼀个元素
    语法:lset key index value
    删除:删除指定元素

    将列表中前count次出现的值为value的元素移除
    count > 0: 从头往尾移除
    count < 0: 从尾往头移除
    count = 0: 移除所有
    语法:lrem key count value
    

    相关文章

      网友评论

          本文标题:redis

          本文链接:https://www.haomeiwen.com/subject/ucpvaftx.html