Redis

NoSQL数据库的四大分类:

    1.键值存储数据库 redis,oracle BDB

    2.列存储数据库 Cassandra,HBase

    3.文档型数据库 CouchDB,MongoDB

    4.图形数据库 Neo4j,InfoGrid

Redis:

    string:

        set name mihon : 设置变量name='mihon'

        setex name 10 mihon: 设置变量name='mihon'有效时间为为10s

        psetex name 1000 mihon: 有效时间1000ms

        expire name 100:有效时间100s

        persist name : 清除定时

        mset k1 mihon k2 sumz : 批量设置

        mget k1 k2  :批量获取

        getset k1 allon : 设置新值并获取原来的值

        getrange k1 0 2 : mih

        setrange k1 2 zzz: 从位置2开始替换zzz

        setbit k1 2 1:对value的二进制位进行操作

        getbit k1 5 :获取k1对应的二进制表中的第5位的值(0或1)

        bitcount k1 0 2:获取0-2字节中对应二进制为1的个数

        strlen k1 : 获取k1的字节长度

        incr int2 1 :自增1,int2必须是整数

        incrbyfloat float1 1.2 :自增1.2

        decr int2 :自减

        append k1 hhh: 在k1 值的后面追加hhh

       

    Hash:

        hset info name mihon : 设置键 info,里面的一个键值对为naem=mihon

        hmset info name mihon age 18 addr xm :批量设置

        hget info name : 获取info 里面的 name 的值

        hmget info naem  age :批量获取 name ,age

        hgetall info  : 获取所有的值

        hlen info : 获取有多少个键值对

        hkeys info : 获取所有的键

        hvals info : 获取所有的值

        hexists info name : 检查info中是否有键 name

        hdel info name : 删除 info 中的name

        hincrby info age : 自增1

        hincrbyfloat info age 2.0: 浮点自增

        hcan info 1 :增量式迭代获取

        hscan_iter info : yield 封装hscan创建生成器,实现分批获取redis中的数据

       

    list:

        lpush list 11 22 33 :创建列表,从左向右添加

        rpush list 11 22 33 :从右往左添加

        lpushx list 11 :当list存在是从左往右添加,

        llen list :获取list的长度

        linsert  list before/after 55 60 :在55的前面或者后面插入60 

        lset list 1 20: 对list索引为1的位置重新赋值

        lrem list 55 2: 删除list中从前到后的两个55,

        lrem list 55 -2:删除list中从后往前的两个55

        lpop list: 从左侧移除第一个元素,并返回该值

        rpop list;从右侧移除第一个元素,并返回该值

        lindex list 0 :获取索引位置为0的值

        lrange list 0 -1:返回对应列表分片的值

        ltrim list 0 -2:移除不在列表分片内的值

        rpoplpush list list1:一个列表的最右边的元素移到另一个元素的最左边

        lpop list timeout 2:移除最左边的值,阻塞2s后无值返回,超时

       

    set:

        sadd set 11 22 33 :创建一个不可重复的集合

        scard set:获取 scard的元素个数

        sdiff set set1 set2: 获取在第一个集合且不在其他集合中的元素

        sdiffstore set4 set set1 set2 : 将在set 中且不在其他集合中的元素写入到 set4

        sinter set set1 set2:获取多个集合的交集

        sinterstore set4 set set1 set2:获取多个集合的交集写入到set4

        sismember set 22:检查22是否set的成员

        smembres set:获取set所有的元素

        smove set set1 88:将set 中的88 移动到set1

        spop set: 从集合的右侧移除一个元素,并返回

        srandember set 2:从set中随机获取2个元素

        srem set 22:从set中删除值为22的元素

       

    sort_set:

        zadd zset 11 22 33:创建一个有序的集合

        zcard zset :获取zset的元素个数

    常用操作:

        delete k1 :删除任意数据类型的数据

        exists k1 :检测是否存在K1

        expire k1 5:设置超时时间

        rename k1 k8:重命名

        move k1 2:将K1移到db下

        randomkey: 随机获取一个key 不删除

        type k1 :判断数据类型

        scan

        scan_iter

原文地址:https://www.cnblogs.com/mihon/p/8980803.html