Redis数据库操作

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/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343