• Redis学习(2)-数据类型String和Hashes


    Redis的数据类型


    (1)Strings类型及操作
    String是最简单的类型,一个Key对应一个Value,string类型是二进制安全的,Redis的string可以包含任何数据,比如jpg图片或者序列化的对象


    1.Set
      设置key对应的值为string类型的value
      例如:我们添加一个name=hello的键值对
      命令:set name hello
    2.Get
      获取key对应value的值
      命令:get name
    3.Setnx
      设置key对应的值为string类型的value,如果key
      已经存在,返回0,nx是not exist的意思
      命令:setnx name hello
      拓展Getnx
    4.Setex
      设置key对应的值为string类型的value,并指定此键值对应的有效期
      命令:setex haircolor 10 red
      10为10秒
    5.Setrange
      设置指定key的value值的字符串
      例如:我们希望lijie的126邮箱替换为gmail邮箱
      set name lijie@126.com
      命令:setrange name 6 gmail.com
    6.mset
      一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何值被设置
    7.msetnx
      一次设置多个key值,成功返回ok表示所有的值都设置了失败返回0表示没有任何值被设置,但是不会覆盖已经存在的key
    8.getset
      设置key的值,并返回key的旧值
    9.getrange
      获取key的value值的子字符串
    10mget
      一次获取多个key的值,如果对应key不存在,则对应返回nil
    11.incr
      对key的值做加操作,并返回新的值
    12.incrby
      同incr类似,加指定值,key不存在时候会设置key并认为原来的value是0
    13.append
      给指定key的字符串追加value,返回新字符串值的长度

    --------------------------------------------------------华丽的分割线--------------------------------------------------
    (2)hashes类型及操作
    Redis hash是一个string类型的field和value的映射表,它的添加、删除操作都是O(1)(平均)hash特别适合用于存储对象,相较于将对象的每个字段存成单个string类型,将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象
    1.hset
      设置hash field为指定值,如果key不存在,则先创建
      hset  user:001 name miao
    2.hsetnx
      设置hash field为指定值,如果key不存在,则先创建,
      如果存在返回0
    3.hmset
      命令:hmset user:002 name miao sex 1
    4.hget
      命令:hget user:002 name
    5.hincrby
      命令:hincrby user:name age 6
    6.hexists
      测试指定field是否存在
    7.hlen
      返回hash中的field数量
    8.hdel
      删除hash中的field
      hdel user:002 age
    9.hkeys
      命令:hkeys user:002
    10.hvals
      命令:hvals user:002
    11.hgetall
      命令:获取某个hash的全部field及value

    注:Redis系列博客均是结合兄弟连Redis学习视频的笔记!

  • 相关阅读:
    [bzoj1613 Usaco2007 Jan]Running贝茜的晨练计划
    [bzoj1600][Usaco2008 Oct]建造栅栏
    [bzoj3208]花神的秒题计划I
    [vijos1011]滑雪
    [noip2007 pjt3] 守望者的逃离
    DP(1) 背包
    快速幂 模板及应用
    BZOJ1303: [CQOI2009]中位数图
    BZOJ1083: [SCOI2005]繁忙的都市
    Bzoj1084: [SCOI2005]最大子矩阵
  • 原文地址:https://www.cnblogs.com/sxmcACM/p/4728247.html
Copyright © 2020-2023  润新知