chenjiali 发表于 2018-11-6 12:10:54

redis string和hash类型操作

  Redis 的数据类型
  String类型及操作
  String是最简单的类型,一个Key对应一个Value,sting类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。
  例子:
  set name gxj
  get name
  输出:gxj
  Setnx:设置key对应的值为string类型的value,如果key 已经存在,则返回0,nx是not exist的意思。
  例子:
  set name zjz
  回车:则返回0,如果不存在,则会设置值
  setex: 设置key对应的值为string类型的value,并指定此键值对应的有效期,单位为S
  例子: setex name 10 zjz,此设置会覆盖此前设置的相同的键,但是10秒后会过期,返回 nil
  setrange: 设置指定的Key的value值的子字符串
  set email zdh@163.com
  setrange eamil 4 qq.com
  输出: zdh@qq.comm
  mset 一次设置多个key的值,成功则返回OK,表示所有值都设置了,失败则返回0表示没有任何值被设置
  例子:
  mset key1 k1 key2 k2 key3 k3
  mget key1 key2 key3
  返回: k1
  k2
  k3
  msetnx : 一次设置多个key的值,成功则返回OK,表示所有值都设置了,失败返回0,表示没有任何值被设置,但是不会覆盖以前设置的key
  比如原来存在key3
  现在设置
  msetnx key8 8 key9 9 key3 3
  返回0,则key8也不存在,key3值仍然为以前的值
  getrange 获取key的value的子字符串
  getrange email 0 5 获取email 0到5的字符
  incr 递增加1
  set num 1
  incr num 输出2
  incrby num 5 每次加5,如果为负,则每次减
  decr num 每次减1
  decrby num 5 每次减5,负数则每次加5
  append email 'test' 追加test到email的值中
  strlen email 指定键的value的字符串长度
  hash数据类型
  redis hash 是一个string类型的field和value的映射表,它的添加和删除操作,都是0和1,hash特别适合于存储对象,相较于将对象的每个字段存为单个的string类型,将一个对象存储在hash中,会占用更少的内存空间,并且更方便的存储整个对象。
  hset user001 name zjz
  hset user001 age 1
  hget user001 name 输出:zjz
  hsetnx: 设置hash filed为指定值,如果key不存在,则创建,否则返回0
  hmset,hmget 批量设置,获取
  hincrby user001 age 2 一次增加2岁,负则减少
  hexists user001 age 查看age是否存在
  hlen user001 返回hash对象设置的键数
  hdel user001 age 删除键
  hkeys user001 返回hash表中所有的字段
  hvals user001 返回hash表中所有的value
  hgetall user001 返回hash表中所有的键和值

页: [1]
查看完整版本: redis string和hash类型操作