为了账号安全,请及时绑定邮箱和手机立即绑定

redis常见五种数据类型

标签:
Java Redis

string

添加/修改数据                   set key value

添加/修改多个数据            mset key1 value1 key2 value2 ......

获取数据                            get key

获取多个数据                      mget key1 key2 ......

删除数据                            del key

获取数据字符个数(字符串长度)    strlen key

追加信息到原始信息后部(如果原始信息存在就追加,否则新建)    append key value

设置数值数据自增1            incr key

设置数值数据自增N           incrby key N    (N只能是整数)

设置数值数据增加小数       incrbyfloat key N(N可以是小数)

设置数值数据自减1            decr key

设置数值数据自减N            decr key N

设置数据在N秒内存在         setex key N value

设置数据在N毫秒内存在      psetex key N value

设置user表id为1001的数据的name字段为zhangsan        set user:id:1001:name zhangsan

同时设置user表id为1001的数据的多个字段值            set user:id:1001 {id:1001,name:zhangsan,age:20;sex:1}

hash

添加/修改数据        hset key field value    (设置key表的field字段的值为value)

添加/修改多个数据        hmset key field1 value1 field2 value2 ......

新建信息(如果key表的field字段存在则无操作,如果不存在则新建)    hsetnx key field value

获取数据                hget key field    (获取key表的fieid字段的值)

获取多个数据        hmget key field1 field2 ......

获取所有字段和值    hgetall key

删除数据        hdel key field1 [field2]

获取key表中字段的数量        hlen key

获取key表中是否存在指定的字段(field)        hexists key field

获取key表中所有的字段名        hkeys key

获取key表中所有字段的值        hvals key

设置指定字段的数值数据自增N        hincrby key field N    (N只能是整数)

设置指定字段的数值数据自增小数    hincrbyfloat key field N    (N可以是小数)

每个hash可以存储(2的32次方-1)个键值对

list

从左边添加/修改数据:lpush key value1 [value2] ......

从右边添加/修改数据:rpush key value1 [value2] ......

从左边开始获取数据(从list的索引为start到stop):lrange key start stop    (若不知道list有多少数据时,想获取全部 设置stop的值为-1可获取全部  -1代表倒数第一个)

获取key里索引为index的数据:lindex key index

获取key的长度:llen key

从左边移除数据:lpop key

从右边移除数据:rpop key

规定时间内从左往右获取并移除数据:blpop key1 key2 ...... timeout

规定时间内从右往左获取并移除数据:brpop key1 key2 ...... timeout

移除指定数据:lrem key count value    (移除key中count个value )

set

添加数据:sadd key member1 member2 ......

获取全部数据: smembers key

删除数据:srem key member1 member2 ......

获取集合数量:scared key

判断集合中是否包含指定数据:sismember key member

随机获取集合中指定数量的数据:srandmenber key count

随机获取集合中某个数据并将该数据移除:spop key 

随机获取集合中指定数量的数据并将这些数据移除:spop key count

求两个集合的交集:sinter key1 key2

求两个集合的并集:sunion key1 key2

求两个集合的差集:sdiff key1 key2

求两个集合的交集并存储到指定集合中:sinterstore destination key1 key2

求两个集合的并集并存储到指定集合中:sunionstore destination key1 key2

求两个集合的差集并存储到指定集合中:sdiffstore destination key1 key2

将指定数据从原始集合移动到目标集合:smove source destination member (将source中的member移动到destination中)

sorted_set(和set类似,只是在set的值前加一个排序字段)

添加数据:zadd key score1 member1 score2 member2 ......

根据score的值从小到大排序获取全部数据:zrange key start stop

根据score的值从小到大排序获取全部数据和score的值:zrange key start stop withscores

根据score的值从大到小排序获取全部数据:zrevrange key start stop

根据score的值从大到小排序获取全部数据和score的值:zrevrange key start stop withscores

删除数据:zrem key menber1 menber2 ......

获取集合中根据score从小到大排序后的数据对应的索引:zrank key member

获取集合中根据score从大到小排序后的数据对应的索引:zrevrank key member

获取集合中数据的score值:zscore key member

修改集合中的数据的score值加increment:zincrby key increment member

从小到大查询score值在min到max之间的数据:zrangebyscore key min max

从小到大查询score值在min到max之间的数据及score值:zrangebyscore key min max withscores

从小到大查询score值在min到max之间的从a开始b个数据及score值:zrangebyscore key min max withscores limit a b

从大到小查询score值在min到max之间的数据:zrevrangebyscore key max min

从大到小查询score值在min到max之间的数据及score值:zrevrangebyscore key max min withscores

删除根据score从小到大排序后的第start到stop个数据:zremrangebyrank key start stop

删除score在min到max之间的数据:zremrangebyscore key min max

获取集合数据总量:zcard key

获取集合中socre值在min到max之间的数据数量: zcount key min max

将key1、key2......numkeys个集合的交集保存到集合sectination中:zinterstore destination numkeys key1 key2 ......    (有多少个keynumkeys就是几,且集合destination中的score值为其他几个集合中对应score值的和,最后也可以加aggregate sum 结果一样)

将key1、key2......numkeys个集合的交集保存到集合sectination中:zinterstore destination numkeys key1 key2 ......  aggregate max   (有多少个keynumkeys就是几,且集合destination中的score值为其他几个集合中对应score值的最大值)

将key1、key2......numkeys个集合的交集保存到集合sectination中:zinterstore destination numkeys key1 key2 ......  aggregate min   (有多少个keynumkeys就是几,且集合destination中的score值为其他几个集合中对应score值的最小值)

将key1、key2......numkeys个集合的并集保存到集合sectination中:zunionstore destination numkeys key1 key2 ......    (有多少个keynumkeys就是几,且集合destination中的score值为其他几个集合中对应score值的和,最后也可以加aggregate sum 结果一样)

将key1、key2......numkeys个集合的并集保存到集合sectination中:zunionstore destination numkeys key1 key2 ......  aggregate max   (有多少个keynumkeys就是几,且集合destination中的score值为其他几个集合中对应score值的最大值)

将key1、key2......numkeys个集合的并集保存到集合sectination中:zunionstore destination numkeys key1 key2 ......  aggregate min   (有多少个keynumkeys就是几,且集合destination中的score值为其他几个集合中对应score值的最小值)

运行结果

(integer)0 ----> false    失败

(integer)1 ----> true     成功

--------------------------

(integer)3 ----> 3    3个

(integer)1 ----> 1    1个

--------------------------

(nil) ----> null    (数据未获取到)

--------------------------

数据最大存储量:512MB

数值计算最大范围(java中的long的最大值):9223372036854775807

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消