2.redis-10大数据类型

目录

一.数据类型

二.常用命令

    1. 中文:redis.cn/commands.html

    2. key的操作命令

三.数据类型运用

    1.字符串(String)

    2.列表(List)

    3.哈希(Hash)

    4.集合(Set)

    5.有序列集合Zset

    6.位图(bitmap)

    7.基数统计(HyperLogLog)

    8.地理空间(GEO)

    9.流(Stream)

    10.地域(bitfield)


一.数据类型

1.String 字符串      2.List 列表                       3.Hash 哈希表   4.Set 集合           5.ZSet 有序集合

6.GEO 地址空间    7.HyerLogLog基数统计    8.bitmap 位图    9. bitfield 位域    10.Stream 流

二.常用命令

    1. 中文:redis.cn/commands.html

    2. key的操作命令

        1).keys * 查询所有的key

        2).exists key 判断key是否存在

        3).type key  查看key什么类型

        4).del key 删除指定的key

        5).unlink key 非阻塞删除 仅仅将keys从keyspace元数据中删除,真正的删除在异步中才操作

        6).ttl key 查看有多少过期, -1:永不过期, -2:已经过期

        7).expire key 设置过期时间

        8).move key dbindex 将当前数据库的key移动到指定的数据库中

        9).select dbindex 切换数据库

        10).dbsize 当前数据库key的数量

        11).flushdb 清空当前库

        12).flushall 通杀全部库

        13).help @数据类型 

三.数据类型运用

  1.字符串(String)

    1) 最常用 

SET key value [NX|XX] [GET] [EX seconds|PX milliseconds|EXAT unix-time-seconds|PXAT unix-time-milliseconds|KEEPTTL]
  • NX: 键不存在的时候设置键值
  • XX: 键存在的时候设置键值
  • EX secconds: 以秒为单位设置过期时间
  • PX milliseconds: 以毫秒为单位设置过期时间
  • (v6.2)EXAT timestamp: 设置以秒为单位的UNIX时间戳所对应的时间为过期时间
  • (v6.2)PXAT millseconds-timestamp: 设置以毫秒为的UNIX时间戳所对应的时间为过期时间
  • (v6.2)GET: 返回指定键原本值,若不存在返回nil
  • KEEPTTL: 保留设置前指定键的生命时间

    2) 同时设置/获取多个值

MSET key value [key value ...]

MGET KEY [KEY ....]

MSET/MGET/MSETNX

    3) 获取指定区间范围的值

getrange/setrange

getrange k1 0 3

    4) 数值增减

incr key

incyby key 2

decr key

decrby key 2

    5) 获取字符串长度和内容追加

strlen key

append key  value

    6) 分布式锁 setex/setnx

    7) getset(先get再set)

    8) 点赞,是否喜欢文章

  2.列表(List)

    1) lpush/rpush/lrange

lpush list1 1 2 3 4 5

rpush list2 7 8 9 10

lrange list1 0 -1

    2) lpop/rpop 弹出去

lpop list1

rpop list1

    3) lindex 按索引下标获取元素

    4) llen 获取列表中的元素个数

    5) lrem key 数字N给定值v1 删除N个值等于v1的元素

lrem list1 4 5

    6) ltrim key 开始index,结束index, 截取指定范围的值后再赋值给key

ltrim list1 0 2

    7) rpoplpush 从源列表右边弹出 从目的列表左边推进去

rpoplpush list1 list2

   8) lset key index value 修改值

lset list1 1 mysql

    9) linsert key before/after 已经有的值 插入新的值

linsert list2 before mysql

    10) 微信公众号关注的文章

  3.哈希(Hash)

    1) hset/hget/hmset/hmget/hgetall/hdel

hset user:001 id 001 name z3 age 25

hget user:01 id

    2) hlen 长度

    3) hexists key 在key里面的某个值的key

    4) hkeys/hvals 单独列出keys或者值

    5) hincrby/hincrbyfloat 对某个值加一个

hincrby user:001 age 2

    6) hsetnx  不存在赋值,存在无效

    7) 小厂用于购物车

  4.集合(Set)

    1) sadd key 添加元素,值不能重复

    2) smembers key 遍历集合中的所有元素

    3) sismember key member 判断元素是否在集合中

    4) srem key member 删除元素

    5) scard, 获取集合里面的元素个数

    6) srandmember key [数字] 从集合中随机展现设置的数字个数元素,

    7) spop key [数字] 从集合中随机弹出几个值

    8) smove key1 key2  在key1里的某个值,赋给已经存在的key2

    9) sdiff key1 key2 差集运算A-B,属于A但不属于B的元素构成的集合

    10) sunion key1 key2 并集计算,属于A或者属于B的元素构成的集合

    11) sinter key 交集运算,属于A同时也属于B的元素构成的集合

    12) sintercard numbers key1 key2 limit 并集后的总数

    13) 抽奖,朋友圈点赞查看朋友,QQ内推可能认识的人

  5.有序列集合Zset

    1) zadd key score member 添加元素

    2) zrange key start stop [withscores] 返回start到stop的所有数据

    3) zrevrange 返回start到stop的所有数据,反序

    4) zrangebyscore key min max [withscores] [LIMIT offset count] 获取指定分数范围的数据

    5) zscore key member 获取元素的分数

    6) zcard key 获取集合中元素的数量

    7) zrem key value 删除元素

    8) zincrby key incr member 增加某个元素的分数

    9) zcount key min max 获取指定分数内元素个数

    10) zmpop 从键名列表中的第一个非空集合中弹出一个或者多个元素,他们是成员分数对

    11) zrank key values 获取下标值

    12) zrevrank key values 逆序获取下标值

    13) 根据商品销售对商品进行排序显示

  6.位图(bitmap)

    1) 用户是否登录过,每日签到,电影是否被点击播放过,钉钉打卡

    2) setbit key offset val 给指定key的值的第offset赋值

    3) getbit key offset 获取指定key的offset位

    4) strlen

    5) bitcount key start end 返回指定key中[start, end]中位为1的数据

    6) bitop operation destkey key 对不同的二进制存储数据进行为运算

  7.基数统计(HyperLogLog)

    1) PFADD key element 添加指定元素到HyperLogLog中

    2) pfcount key 返回指定 HyperLogLog的基数估算值

    3) pfmerge destkey sourcekey 将多个HyperLogLog合并为一个HyperLogLog

  8.地理空间(GEO)

    1) geoadd 多个经度维度,位置名称添加到指定的key中

    2) geopos 从键里面返回所有给定位置元素的位置

    3) geodist 返回两个给定位置之间的距离

    4) georadius 以给定的经度维度为中心,返回与中心的距离不超过给定大距离的所有位置元素

  9.流(Stream)

  10.地域(bitfield)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wang_peng

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值