zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    找零钱「Usaco2006 Dec」
    才艺表演「Usaco2018 Open」
    潜入行动「JSOI2018」
    任务安排「SDOI2012」
    BZOJ2298: [HAOI2011]problem a
    JZOJ 5818
    JZOJ 3493
    JZOJ 3470
    JZOJ 5781
    JZOJ 5778
  • 原文地址:https://www.cnblogs.com/mihon/p/8980803.html
Copyright © 2011-2022 走看看