• redis 2 字符串 和 hash


    string是最简单的类型,一个key对应一个value,string类型是二进制安全的。redis的string可以包含任何数据,比如JPG图片或者序列化的对象

    操作
        set
        设置key对应的值为string类型的value
        例如:
        set name haoxing   //设置key为那么value为haoxiang
        get name   //会得到“haoxiang”    
        注意:
        set 重复添加相同的key名会覆盖原来的值

        setnx
        设置key对应的值为string类型的value,如果key不存在添加,存在返回0
        例如:
        setnx name lamp //就会返回0 如果没有存在这个key 成功返回1
        
        setex
        设置key对应的值为string类型的value,并制定此键值对对应的有效期
        例如:
        setex color 10 red
        get color //十秒内能得到值  返回"red"
        get color //十秒后获取不到  返回(nil) 表示空

        setrange
        替换一个key对应的字符串的部分
        例如:
        set email haoxiang@wolecha.com
        get email //"haoxiang@wolecha.com"
        setrange email 9 163.com
        get email //"haoxiang@163.com.com"
        注意:
        替换是从第9个开始替换你写的新的字符串的长度,如果小于原字符串长度,只替换对应的字节数,并保留后面的内容

        mset
        一次设置多个key的值,成功返回ok 表示所有的值都设置了,失败返回0表示没有任何值被设置
        例如:
        mset key1 haoxiang1 key2 haoxiang2
        注意:
        和set一样有相同的key 会被覆盖

        msetnx
        一次设置多个key的值,成功返回ok表示所有的值都设置了,失败返回0表示没有任何被设置,但不会覆盖已经存在的key,所有的值都不重读才成功
        
        get
        返回key对应的value的值,如果key不存在返回 nil
        例如:
        get name

        getset
        设置key 的值,并返回key对应的value的旧值
        例如:
        set num 20
        get num //"20"
        getset num 30 //"20"
        get num //"30"

        getrange
        获取key的对应value字符串的部分
        例如:
        set eamil haoxiang@163.com
        get email 0 7  //"haoxiang"
        
        mget
        批量获取,如果key不存在返回nil

        incr
        对key对应的value值做加加操作,并返回新的值
        例如:
        set num 30
        incr num //(integer)31

        incrby
        通incr类似,不过是加指定的数值,key 不存在会设置key,并认为原来的值得value是0,正为加,负为减
        例如:
        incrby num 5
        incrby num -5

        decr
        对value值做减减操作

        decrby
        减指定的值,正为减,负为加

        append
        对value值后面追加字符串,返回新的字符串长度

        strlen
        获取key 对应的value的字符串长度

    hash类型及操作
    redis hash是一个string类型的field和value的映射表。它的添加、删除操作都是0(1)(平均)。hash特别适合用于存储对象。相较于将对象的每个字段存成单个的string类型。将一个对象存储在hash类型中会占用更少的内存,并且可以更方便的存取整个对象。

        hset
        设置hash filed为指定值,如果key不存在,则先创建
        例如
        hset myhash filed1 hello    //其中myhash是hash表的名称,filed1是字段,hello是字段对应的值
        
        hsetnx
        设置hash field为指定值,如果key不存在,则先创建,存在返回0,和setnx 大同小异

        hmset
        批量设置hash的多个字段的值
        例如:
        hmset myhash field1 hello field2 world

        hget
        获取hash中某个字段的值
        例如:
        hget myhash field1

        hmget
        同时获取多个字段的值
        例如:
        hmget myhash field1 field2 field3

        hincrby
        指定的hash field 加上指定的值
        例如:
        hincrby myhash age 8

        hexists
        测试hash表中的字段是否存在,存在返回1,不存在返回0
        例如:
        hexists myhash age

        hlen
        返回hash表中字段的数量
        例如:
        hlen myhash

        hkeys
        返回hash中所有的字段
        例如:
        hkeys myhash

        hvals
        返回hash中的所有value
        例如:
        hvals myhash

        hgetall
        获取hash中全部的字段及对应的value
        例如:
        hgetall myhash

        hdel
        删除hash中的指定字段
        例如:
        hdel myhash age

        
        
        
      

  • 相关阅读:
    javascript对象继承的实现
    浏览器兼容问题汇总<转>
    DOM笔记
    Ajax日记
    学习态度
    项目1
    导航项目-整体布局
    有关布局
    导航项目开始
    windows 服务 定时程序 跑不出数据
  • 原文地址:https://www.cnblogs.com/mr-amazing/p/3860256.html
Copyright © 2020-2023  润新知