Redis数据类型String

redis指令help

通用组

help @generic

清库指令 FLUSHDB

一般不用

16个库

String类型

一些方法可以自动判断类型

nx

  • 不存在时才设置
  • 适用于分布式锁

xx

  • 只有存在时才设置,即只能更新

mset

  • 设置多个kv对

append

  • 字符串尾部追加

getset

  • 设置新值,返回旧值

getrange

  • 取子串
  • 支持正向和反向索引

setrange

  • 设置子串

type

  • 打印类型

object encoding

  • 显示编码类型

incr

  • 自增

incrby

  • 累加多少

decr

  • 减1

decrby

  • 减少多少

strlen

  • 字符串长度

mget

  • 获取多个

msetnx

  • 设置多个

二进制安全

字节流,一个字符一个字节

字符集 ascii码

即便是Integer类型,strlen依然是字符的个数

计算数值时,将字节拿出来转换类型然后计算

redis-cli --raw

编码集格式化

二进制位

bitmap

  • setbit

key offset value

  • bitcount

key start end

  • bitop

与或非

用位来记录用户每年的登录状态

用户为key,时间为value,位是天数,统计用户的登录天数,查询窗口随机

每用户46B * 用户数 1kw ≈ 438.7MB

setbit user 1 1
setbit user 7 1
setbit user 364 1
# 支持正向,反向
bitcount user 200 364

时间为key,用户为value

setbit 20190101 1 1
setbit 20190102 1 1
setbit 20190102 1 7
# 统计1号2号的活跃用户数
bitop or destkey 20190101 20190102 
# 支持正向,反向
bitcount destkey 0 -1

redis适用场景

金融类的需要持久化,redis不合适

关系型,键值对,时序,列式,文档

论读书
睁开眼,书在面前
闭上眼,书在心里
原文地址:https://www.cnblogs.com/YC-L/p/14449260.html