Redis--命令

  • 设值
set KEY VALUE
  • 获值
get KEY
  • 设置过期时间(单位:s)
set KEY VALUE ex SECONDS
  • 设置过期时间(单位:s)
exprire KEY SECONDS
  • 设置过期时间(单位:ms)
pexprire KEY MILLISECONDS
  • 设置UNIX过期时间戳
exprireat KEY timestamp
  • 设置UNIX过期时间戳
pexprireat KEY MILLISECONDS-TIMESTAMP
  • 删除过期
rersist KEY
  • 存在则不插入
set B 2 nx
  • 存在则修改
set B 2 xx
  • 批插入
mset A 1 B 2 C 3
  • 批插入(原子操作)
msetnx D 7 E 3
  • 获取所有键keys *

  • 设置新值并返回旧值

getset A 2
  • 将值VALUE插入到字符串键key已存储内容的末尾(字符串拼接)
append KEY VALUE
  • 获取字符串长度
strlen KEY
  • 获取键值为key的字符串从index1到index2的值(index从左往右 从0开始 从右往左 从-1开始)
getrang KEY INDEX1 INDEX2

整型

incrby KEY INTNUM(整型)
  • 将key的值加INTNUM(没有则创建,并将INTNUM赋给key)
decrby KEY INTNUM
  • 将KEY的值减INTNUM

  • KEY值加一

incr KEY
  • KEY值减一
decr KEY

浮点型

incrbyfloat KEY NUM(浮点型)
  • 将key的值加NUM(没有则创建,并将NUM赋给key,通过传入负值做减法)
TTL KEYPTTL KEY
  • 查看剩余生存时间

  • KEY存在,但没有设置TTL,返回-1

  • KEY存在,还在生命周期内,返回剩余的秒

  • KEY曾经存在,但已消亡,返回-2

  • 键类型

type KEY
  • 键是否存在
exists KEY
  • 键重命名
renamenx KEY NEWKEY
  • 删除键
del KEY
  • 设置键为key的二进制的OFFset(从右往左)位值为VALUE
setbit KEY OFFSET VALUE
  • 获取键为key在OFFset位上的值(从右往左)最低位开始正数符号位为1负数为0getbit KEY OFFSET

  • 返回key在指定区间第一次出现的位置

bitpos KEY BIT [START][END]
  • 获取key二进制位数
bitcount KEY
  • 二进制位操作
bitop OPERATION KEY [KEY ...]
  • 清除当前库数据flushdbflushall

  • 清除所有库中的数据

  • List列表(Linked List实现元素为字符串)b ul LEFTr RIGHTx EXIST

  • 从左压入元素

lpush KEY VALUE
  • 从左压入元素
lrushx KEY VALUE
  • 从右压入元素
rpush KEY VALUE
  • 从右压入元素
rpushx KEY VALUE
  • 从左弹出元素
lpop KEY
  • 从右弹出元素
rpop KEY
  • 从source尾部弹出元素,压入destination头部
rpoplpush SOURCE DESTINATION
  • 返回指定范围元素
lrange KEY START STOP
  • 获取指定位置的元素
lindex KEY INDEX
  • 设置指定位置元素的值
lset KEY INDEX VALUE
  • 元素列表长度(元素个数)
llen KEYLREM KEY COUNT VALUEcount>0:从表头开始遍历移除count个值为VALUE的元素count<0:从表尾开始遍历移除count绝对值个值为VALUE的元素count=0:移除所有值为VALUE的元素
  • 移除从start到stop以外的元素
ltrim KEY START STOP
  • 在pivot(key中已有元素)之前(BEFORE)或之后(AFTER)插入元素VALUE
linsert KEY BEFORE|AFTER PIVOT VALUE
  • 从列表头部阻塞弹出元素
blpop KEY timeout
  • 从列表尾部阻塞弹出元素
brpop KEY TIMEOUT
  • 从一个列表尾部阻塞弹出元素压入另一个列表的头部
brpoplpush SOURCE DESTINATION TIMEOUThash散列
  • 设置单个字段(键,字段,值)
hset KEY FIELD VALUE
  • KEY的field不存在时才执行
hsetnx KEY FIELD VALUE
  • 设置多个字段
hmset KEY FIELD VALUE [FIELD VALUE ...]
  • 返回字段个数hlen KEY

  • 判断字段是否存在(key或field不存在返回0)

hexists KEY FIELD
  • 返回字段值
hget KEY FIELD
  • 返回多个字段值
hmget KEY FIELD [FIELD...]
  • 获取所有键值对
hgetall KEY
  • 获取所有键
hkeys KEY
  • 获取所有值
hvals KEY
  • 给KEY的FIELD字段加INCREMENT(整型)
hincrby KEY FIELD INCREMENT
  • 给key的field字段加increment(浮点型)
hincrbyfloat KEY field increment
  • 删除key的field字段
hdel KEY field [field...]

Set集合

  • 无序的,去重的

  • 元素字符串类型

sadd KEY member [member...]
  • 增加一个或多个元素(如果元素已存在,自动忽略)
srem KEY member [memver...]
  • 移除一个或多个元素(如果元素不存在,自动忽略)
smembers KEY
  • 返回集合所有元素(元素过多会产生阻塞)
sismember KEY member
  • 检查元素是否存在
SRANDMEMBER KEY count
  • 随机返回集合中count个元素(默认为1)
  • count大于集合基数,返回所有元素

  • count>0返回可重复出现的count绝对值个

SCARD KEY
  • 返回集合元素个数(不需要遍历)
SPOP KEY
  • 随机移除并返回被移除的元素
smovl SOURCE DESTINATION MEMBER
  • 移除source中的member到destination
sdiff KEY [key...]
  • 从第一个key中去除其他集合和自己的交集部分
sdiffstore DESTINATION KEY [KEY...]
  • 将差集结果存到destination中
sinter KEY [KEY...]
  • 取所有集合交集部分sinter
store destination KEY [key...]
  • 将交集结果存到destination中
sunion KEY [KEY...]
  • 取所有集合并集部分
sunionstore DESTINATION KEY [KEY...]
  • 将并集结果存到DESTINATION中SortedSet集合有序的,去重的元素字符串类型每个元素都关联一个浮点数分值(score),并按照分值从大到小顺序排列集合中的元素(分值可以相同)

  • 增加一个或多个元素(如果元素已存在,则使用新的score)

zadd KEY SCORE MEMBER [SCORE MEMBER...]
  • 移除一个或多个元素(元素不存在,自动忽略)
zrem KEY MEMBER [MEMBER...]
  • 显示分值
zscore KEY MEMBER
  • 增加或减少(increment为负数)分值
zincrby KEY INCREMENT MEMBER
  • 返回元素排名(索引从0开始)
zrank KEY MEMBER
  • 返回指定区间元素
zrange KEY START STOP [WITHSCORES]

如果score相同,则按照字典序lexicographical order排序

默认按照score从小到大,如果需要score从大到小排列,使用ZREVRANGE

  • 返回指定分值区间元素
zrangebyscore KEY MIN MAX [WITHSCORES] [LIMIT OFFSET COUNT]

返回score默认属于[min,max]之间,元素按照score升序排序,score相同字典序LIMIT中OFFset代表跳过多少个元素,count代表返回个数使用小括号,修改区间为开区间-inf和+inf表示负无穷和正无穷

  • 删除指定排名范围元素
zremrangebyrank KEY START STOP
  • 返回集合中元素个数
zcard KEY
  • 返回指定范围元素(分值)
zcount KEY MIN MAX
  • 并集
zunionstore DESTINATION NUMKEYS KEY [KEY ...] [weights WEIGHT] [aggregate sum|min|max]

NUMKEYS指定key的数量,必须WEIGHTS权重,key中每一个score都要乘以权重

AGGREGATE指定并集结果的聚集方式

SUM:将所有集合中某一元素的score值之和作为结果集中该成员的score值MIN:将所有集合中某一元素的score值中最小值作为结果集中该成员的score值

MAX:将所有集合中某一元素的score值中最大值作为结果集中该成员的score值

  • RDB持久化(全量备份)
  • RDB文件(二进制)

  • 定时更新(消耗大,不完全安全)

save M N
  • 距离上次创建RDB文件已过m秒,且所有数据库总共已发生不少于n次的修改,则执行BGSAVE
bgsave
  • 执行时不会阻塞进程(fork子进程,效率稍低)

  • AOF持久化(增量备份)

  • 使用数据库日志来保存每一条命令appendfsync always

服务器没写入一个命令,调用一次fdatasyncappend

  • fsync everysec服务器每秒调用一次

  • fdatasync appendfsync no服务器不主动调用

  • fdatasync always速度慢
    ererysec默认值
    AOF文件冗余时,AOF文件过大,需要AOF重写,以减小AOF文件
    客户端向服务器发送BGREWRITEAOF命令通过设置配置选项来让服务器自动执行BGREWRITEAOF命令:
    auto-aof-rewrite-min-size,触发AOF重写所需的最小体积,只要AOF文件的体积大于等于size时.
    服务器才会考虑是否进行AOF重写

  • 主从复制Master:只能写

Slave:只能读

  • redis-server

–slaveof(启动)配置当前服务为slave

  • SLAVEOF host port (命令行)将当前服务器状态从master修改为其它服务器的slave

  • redis-server config.conf(配置文件)

config.conf文件内容:

slaveof master-ip master-port slave-port Master出现故障时Slave使用SLAVEOF no one命令成为Master,其它Slave使用slaveof命令指向新的Master(手动)
  • Redis哨兵Sentinel

配置文件Sentinel monitor

监视名为name的主服务器,当quorum个Sentinel判断主服务器下线时,Sentinel才会同意故障转移

Sentinel默认端口号为26379

Redis Twemproxy(分片)

Redis集群最大节点个数 16384

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值