美文网首页
Redis数据库操作

Redis数据库操作

作者: ddzx | 来源:发表于2018-12-25 14:16 被阅读0次

    1.字符串 string

        string是redis最基本的类型

        最大能存储512MB数据

    注意:

        a. 字符串可以是 字符串、数字、图片、序列化的对象

        b. 如果字符串是多个单词必须打 “” 引起来

        c. 字符串是以二进制形式存储,在命令行不建议写中文

    1.1.设置

    设置键值

        set key value

            set username messi

    设置键值及过期时间,以秒为单位

        SETEX key seconds value

            setex username 30 messi

    设置多个键值

        MSET key value [key value ...]

            mset name huang age 23

    1.2.获取

    根据键获取值,如果不存在此键则返回nil

        GET key

            get name

    根据多个键获取多个值

        MGET key [key ...]

            mget name age

    1.3.运算

    要求:值是数字

    将key对应的value加1

        INCR key

            incr age

    将key对应的value加整数

        INCRBY key increment

            incrby age 10

    将key对应的value减1

        DECR key

            decr age

    将key对应的value减整数

        DECRBY key decrement

            decrby age 10

    1.4.其它

    追加值

        APPEND key value

            append name cro

    获取值长度

        STRLEN key

            strlen name

    2.键命令

    2.1查找键,参数支持正则

        KEYS pattern

            keys na*e

            keys *

    2.2判断键是否存在,如果存在返回1,不存在返回0

        EXISTS key [key ...]

            exists name

    2.3查看键对应的value的类型

        TYPE key

            type name

    2.4删除键及对应的值

        DEL key [key ...]

            del name

    2.5设置过期时间,以秒为单位

    创建时没有设置过期时间则一直存在,直到使用DEL移除

        EXPIRE key seconds

            expire name 30

    2.6查看有效时间,以秒为单位

        TTL key

            ttl name

    3.对象hash

    hash用于存储对象,对象的格式为键值对

    3.1.设置

    设置单个属性

        HSET key field value

            HSET site redis redis.com

    设置多个属性

        HMSET key field value [field value ...]

            HMSET website google www.google.com yahoo www.yahoo.com

    3.2.获取

    获取一个属性的值

        HGET key field

            HGET site redis

    获取多个属性的值

        HMGET key field [field ...]

            HMSET pet dog "doudou" cat "nounou"

            HMGET pet dog cat fake_pet

    获取所有属性和值

        HGETALL key

            hgetall pet

    获取所有的属性

        HKEYS key

            hkeys pet

    获取所有值

        HVALS key

            hvals pet

    返回包含属性的个数

        HLEN key

            hlen pet

    3.3.其它

    判断属性是否存在

        HEXISTS key field

            hexists pet dog

    删除属性及值

        HDEL key field [field ...]

            hdel pet dog

    返回值的字符串长度

        HSTRLEN key field

            hstrlen pet cat

    4.列表 list

    列表的元素类型为string

    按照插入顺序排序

    在列表的头部或者尾部添加元素

    4.1.设置

    在头部插入数据

        LPUSH key value [value ...]

            lpush languages python

    在尾部插入数据

        RPUSH key value [value ...]

            rpush languages java

    在一个元素的前|后插入新元素

        LINSERT key BEFORE|AFTER pivot value

            RPUSH mylist "Hello"

            RPUSH mylist "World"

            LINSERT mylist BEFORE "World" "There"

    设置指定索引的元素值

    索引是基于0的下标

    索引可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素

        LSET key index value

            lset mylist -1 "goods"

    4.2.获取

    移除并且返回 key 对应的 list 的第一个元素

        LPOP key

            lpop mylist

    移除并返回存于 key 的 list 的最后一个元素

        RPOP key

            rpop mylist

    返回存储在 key 的列表里指定范围内的元素

    start 和 end 偏移量都是基于0的下标

    偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素

        LRANGE key start end

            lrange mylist 0 -1

    4.3.其它

    裁剪列表,改为原集合的一个子集

    start 和 end 偏移量都是基于0的下标

    偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素

        LTRIM key start end

            ltrim mylist 3 6

    返回存储在 key 里的list的长度

        LLEN key

            llen mylist

    返回列表里索引对应的元素

        LINDEX key index

            lindex mylist -1

    5.无序集合set

    无序集合

    元素为string类型

    元素具有唯一性,不重复

    5.1.设置

    添加元素

        SADD key member [member ...]

            sadd bbs "discuz.net"

            SADD bbs "tianya.cn" "groups.google.com"

    5.2.获取

    返回key集合所有的元素

        SMEMBERS key

            smembers bbs

    返回集合元素个数

        SCARD key

            scard bbs

    5.3.其它

    求多个集合的交集

        SINTER key [key ...]

            sadd group_1 "li lei" "tom" "jack"

            sadd group_2 "han meimei" "jack"

            sinter group_1 group_2

    求某集合与其它集合的差集

        SDIFF key [key ...]

            sdiff group_1 group_2

    求多个集合的合集

        SUNION key [key ...]

            sunion group_1 group_2

    判断元素是否在集合中

            SISMEMBER key member

            sismember bbs "discuz.net"

    有序集合zset

    sorted set,有序集合

    元素为string类型

    元素具有唯一性,不重复

    每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序

    元素的score可以相同

    3.6.1.设置

    添加

        ZADD key score member [score member ...]

            ZADD page_rank 10 google.com

            ZADD page_rank 9 baidu.com 8 bing.com

    3.6.2.获取

    返回指定范围内的元素

        ZRANGE key start stop

            zrange page_rank 0 -1

    返回元素个数

        ZCARD key

            zcard page_rank

    返回有序集key中,score值在min和max之间的成员数量

        ZCOUNT key min max

            zcount page_rank 8 10

    返回有序集key中,成员member的score值

        ZSCORE key member

            zscore page_rank google.com

    内容参考:http://redisdoc.com/

    相关文章

      网友评论

          本文标题:Redis数据库操作

          本文链接:https://www.haomeiwen.com/subject/jilflqtx.html