美文网首页
2018-08-16Redis几种数据类型的基本操作

2018-08-16Redis几种数据类型的基本操作

作者: 菩灵 | 来源:发表于2018-08-17 14:22 被阅读6次

    Nosql是非关系型数据库,内存级的读写,用来加快读写速度
    当数据量增加,并且读取的人 增多,物理级的读写,等待时间太长,效率低
    相当于一个缓存,有的话就从这里取,没有的再去MySQL取。


    Nosql存储用法

    Nosql类型的最大特点是以json的形式存储数据


    Nosql数据库的分类

    默认端口6379
    绑定的ip可以打开 /etc/redis 里面的 redis.conf


    redis.conf

    默认用0那个数据库

    1、string

    • string是redis最基本的类型,不仅是字符串类型,可以存多种数据
    • 最大能存储512MB数据
    • string类型是二进制安全的,即可以为任何数据,比如数字、图片、序列化对象等(相当于可以存任何能转化为二进制的数据)

    命令

    设置

    • 设置键值
    set key value
    
    
    • 设置键值及过期时间(过了时间就删除),以秒为单位
    SETEX key seconds value
    
    
    • 设置多个键值
    MSET key value [key value ...]
    
    

    获取

    • 根据键获取值,如果不存在此键则返回nil
    GET key
    
    
    • 根据多个键获取多个值
    MGET key [key ...]
    
    

    运算

    • 要求:值是数字
    • 将key对应的value加1
    INCR key
    
    
    • 将key对应的value加整数
    INCRBY key increment
    
    
    • 将key对应的value减1
    DECR key
    
    
    • 将key对应的value减整数
    DECRBY key decrement
    
    

    其它

    • 追加值
    APPEND key value
    
    
    • 获取值长度
    STRLEN key
    

    2、hash

    • hash用于存储对象,对象的格式为键值对

    命令

    设置

    • 设置单个属性
    HSET key field value
    
    
    • 设置多个属性
    HMSET key field value [field value ...]
    
    

    获取

    • 获取一个属性的值
    HGET key field
    
    
    • 获取多个属性的值
    HMGET key field [field ...]
    
    
    • 获取所有属性和值
    HGETALL key
    
    
    • 获取所有的属性
    HKEYS key
    
    
    • 返回包含属性的个数
    HLEN key
    
    
    • 获取所有值
    HVALS key
    
    

    其它

    • 判断属性是否存在
    HEXISTS key field
    
    
    • 删除属性及值
    HDEL key field [field ...]
    
    
    • 返回值的字符串长度
    HSTRLEN key field
    

    3、list

    • 列表的元素类型为string
    • 按照插入顺序排序
    • 在列表的头部或者尾部添加元素

    命令

    设置

    • 在头部插入数据
    LPUSH key value [value ...]
    
    
    • 在尾部插入数据
    RPUSH key value [value ...]
    
    
    • 在一个元素的前|后插入新元素
    LINSERT key BEFORE|AFTER pivot value
    
    
    • 设置指定索引的元素值
    • 索引是基于0的下标
    • 索引可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
    LSET key index value
    
    

    获取

    • 移除并且返回 key 对应的 list 的第一个元素
    LPOP key
    
    
    • 移除并返回存于 key 的 list 的最后一个元素
    RPOP key
    
    
    • 返回存储在 key 的列表里指定范围内的元素
    • start 和 end 偏移量都是基于0的下标
    • 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
    LRANGE key start stop
    
    

    其它

    • 裁剪列表,改为原集合的一个子集
    • start 和 end 偏移量都是基于0的下标
    • 偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
    LTRIM key start stop
    
    
    • 返回存储在 key 里的list的长度
    LLEN key
    
    
    • 返回列表里索引对应的元素
    LINDEX key index
    

    4、set

    • 无序集合
    • 元素为string类型
    • 元素具有唯一性,不重复

    命令

    设置

    • 添加元素
    SADD key member [member ...]
    
    

    获取

    • 返回key集合所有的元素
    SMEMBERS key
    
    
    • 返回集合元素个数
    SCARD key
    
    

    其它

    • 求多个集合的交集
    SINTER key [key ...]
    
    
    • 求某集合与其它集合的差集
    SDIFF key [key ...]
    
    
    • 求多个集合的合集
    SUNION key [key ...]
    
    
    • 判断元素是否在集合中
    SISMEMBER key member
    

    5、zset

    • sorted set,有序集合
    • 元素为string类型
    • 元素具有唯一性,不重复
    • 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序
    • 元素的score可以相同

    命令

    设置

    • 添加
    ZADD key score member [score member ...]
    
    

    获取

    • 返回指定范围内的元素
    ZRANGE key start stop
    
    
    • 返回元素个数
    ZCARD key
    
    
    • 返回有序集key中,score值在min和max之间的成员
    ZCOUNT key min max
    
    
    • 返回有序集key中,成员member的score值
    ZSCORE key member
    

    相关文章

      网友评论

          本文标题:2018-08-16Redis几种数据类型的基本操作

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