redis笔记

redis笔记

单进程,默认16库,

select N 切换库

flushdb 清空库

类型

一个字符串支持512M

有序集合 每个元素会关联一个double类型分数。成员唯一,分数可以重复。

常用命令

key:
keys *
  
exists key

move key db  移除key 从库中

expire key 为key 设置过期时间

ttl key 查看多少秒过期,-1 永不过期, -2已过期

type key 查看类型

del key 删除

string:

getrange key 0-N setrange key 0-N XXX 获取字符串范围内容, 设置范围内为XXX

setex 设置生命值多少秒 setnx key 设置一个不存在的key

mset mget msetnx

list:

lpush rpush lrange
 
lpop rpop
 
lindex
 
llen

lrem key 2 value 删除2个value
 
ltrim key 0-N  截取并复制给key (其他的删除了)

rpoplpush  弹出前面key的值 加入后面的key中

lset key index value 设置key中 index下标的值

linsert key before/afrer value1 value2 key中1值得前面后后面加入2值 

set:

sadd  key value 添加到key集合

smembers key 查询集合  

sismember key m  查询m是否在key集合中

scard key 集合ket的基数

spop key 随机移除一个元素并返回元素的值

srem key m 移除m从key的集合中

smove K1 K2 m  将k1的m一刀k2里

sinter key1 key2 交集

sunion key1 key2 并集

sdiff key1 key2 差集 

hash:

hset user name ali 

hset user age 33     设置user数据

hget user name  获取user.name

hmset  human name tom age 44  设置多数据

hmget human name age  获取多数据

hgetall human  

hdel human  name 删除name

hlen human 长度

hexists human age 是否存在

hkeys human 获取所有key 

hvals  human 获取所有value 

hincrby  hincrbyfloat   

hsetnx 不存在添加

zset:

zadd key value:score 设置值的分数

zrange key 

zrangebyscore key  min max      (不包含   limit   升序

zrevrangebyscore 降序

zrem key value 

zcount key min max  范围内多少个

zscore key m 返回key 中m的分数值

zrevrange key start stop 降序展示

持久化:

rdb aof

配置:

appendfsync always/everysec/no 同步设置

rewrite:

aof 采用文件追加方式,记录文件会越来越大,重写机智,aof

文件大小超过阈值时,会启动aof文件的内容压缩,只保留可恢复的最小指令。默认配置64M

事务:

mulit 开启  语句  exec执行, discard 取消

语法错误时,全部没执行,如果设置错误,其他执行,错误的不执行。

监控 锁 乐观锁 悲观锁:

悲观锁,锁表。

乐观锁,行信息版本更新。 谁先提交谁成功。

wacth 监控字段,执行事务,如果监控字段未出现变化,事务执行成功。

复制机制:

   master 写  slave读

   配置slave为主     slaveof 主库id 端口

   info replication  查看信息

   从机不能写数据