redis数据操作

数据操作

  • redis是key-value数据结构,每条数据都是一个键值对
  • 键的类型是字符串,并且键不能重复
  • 值得类型分为五种
    • 字符串string
    • 哈希hash
    • 列表list
    • 集合set
    • 有序集合zset

string(字符串)

string是redis最基本的类型,最大能存储512mb数据,string类型是二进制安全的,可以存储任何数据,如图片,数字等.

  • 增加和修改

    • 如果设置的键不存在则为添加,如果键存在则为修改

    set key value

    例:set 'name' 'smallred'设置键为name值为smallred的数据

    • 设置键值以及过期时间,时间以秒为单位

    setex key seconds value

    例:setex 'name' 3 'kaer'设置键为name值为kaer过期时间为3秒的数据

    • 设置多个键值

    mset key1 value1 key2 value2 …

    • 追加值

    append key value

    例:append 'name' ' hhaha'

  • 获取

    • 根据键获取值,如果不存在则返回nil

    get key

    • 根据多个键获取多个值

    mget key1 key2 …

键命令
  • 查找键 参数通配符查找

    keys pattern

  • 查看所有键

    kyes *

  • 查看名称中包含a的键

    keys '*a*'

  • 判断键是否存在,如果存在返回1,不存在返回0

    exists key1

  • 查看键对应的value的类型

    type key

  • 删除键及对应的值

    del key1 key2 …

  • 设置过期时间,秒为单位

  • 如果没有指定过期时间则一直存在,知道用del删除

    expire key seconds

    例:expire 'name' 10设置键name的过期时间10秒

  • 查看有效时间 秒为单位

    ttl key

hash 哈希

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

  • 增加 修改

    • 设置单个属性

    hset key field value

    例:hest 'py2' 'name' 'hr'设置键为py2的属性name为hr

    • 设置多个属性

    hmset key field1 value1 field2 value2 …

    例:设置键为py3的属性name为dx,属性gender为1,属性birthday为2018-1-1

    hmset 'py3' 'name' 'dx' 'gender' '1' 'birthday' '2018-1-8'

  • 获取

    • 获取指定键所有的属性

    hkeys key

    • 获取一个属性的值

    hget key field

    • 获取多个属性的值

    hmget key field1 field2 …

    • 获取所有属性的值

    hvals key

    例:hvals 'py3' 获取键py3所有属性的值

  • 删除

    • 删除整个hash键及值,用del命令

    • 删除属性,属性对应的值会被一起删除

    hdel key field1 field2 …

list

列表的元素类型为string

按照插入顺序排序

  • 增加

    • 在左侧插入数据

    lpush key value1 value2 …

    例:lpush 'py11' 'dx' 'xd'从键为py11的列表左侧加入数据dx xd

    • 在右侧插入数据

    rpush key value1 value2 …

    • 在指定元素的前面或后面插入新元素

    linsert key before 或 after 现有元素 新元素

  • 获取

    • 返回列表里指定范围内的元素

    • start,stop为元素的下标索引

    • 索引从左侧开始,第一个元素为0
    • 索引可以是负数,表示从尾部开始技术,例如-1表示最后一个元素

    lrange key start stop

  • 修改

    • 指定索引位置的元素值

    • 索引从左侧开始,第一个元素为0

    • 索引可以是负数,表示从尾部开始计数

    lset key index value

  • 删除

    • 删除指定元素

    • 将列表中钱count次出现的值为value的元素一处

    • count>0 :从头往尾移除
    • count<0 从尾往头移除
    • count=0 移除所有

    lrem key count value

set

无序集合 元素类型为string类型,元素具有唯一性不重复 对于结合没有修改操作

  • 增加

    • 添加元素

    sadd key member1 member2 …

  • 获取

    • 返回所有的元素

    smembers key

  • 删除

    • 删除指定元素

    srem key member

    例:srem 'py21' 'yzp'删除键py21的集合中元素yzp

zset

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

  • 增加

    • 添加

    zadd key score member1 score2 member2 …

    例:向键py31的集合中添加元素gj hr yg xln 权重分别为1 5 8 3

    zadd 'py31' 1 'gj' 5 'hr' 8 'yg' 3 'xln'

  • 获取

    • 返回指定范围内的元素

    zrange key start stop

    • 返回score值在min和max之间的成员

    zrangebyscore key min max

    • 返回成员member的score值

    zscore key member

  • 删除

    • 删除指定元素

    zrem key member1 member2 …

    • 删除权重在指定范围的元素

    zremrangebyscore key min max

阅读更多
个人分类: 数据库复习
上一篇redis数据库简介与安装
下一篇redis与python的交互
想对作者说点什么? 我来说一句

redis入门简介

2017年11月24日 210KB 下载

没有更多推荐了,返回首页

关闭
关闭