键的管理: type del object encoding exists expire dbsize
1.rename key newkey //重命名
2.randomkey: //随机获取一个键
3.expireat key 时间戳 key在什么时间过期
4.遍历键的方式: (1)keys * 返回所有的键 直到键的数量比较少的时候 (2)scan 按照指定数量来遍历键,默认10 keys * =n*scan 语法:scan cursor [match pattern] [count number]
cursor :游标 每次执行scan都会返回一个游标,下次遍历用这个游标可以从上次遍历结束的位置开始 直到返回的游标为0表示遍历完了所有键 scan容易出现的问题,可能会有遗漏,不能完全遍历到所有key
库管理: 16 0-15 默认位置:0 select mumber 移动到别的库 flushdb/flushall 清空库里面的键
迁移键: 1.move key dbindex: 移动 2.【dump restore】:在源库里执行dump key:将key对应的值序列化,然后到目标库里执行restore key ttl ‘系列化’ ttl设置过期时间 ttl必须设置 ,不设置的话ttl写0 注意:严格来讲,这个操作方式应该叫复制,因为不具有原子性 3.migrate :可以跨主机迁移键 具有原子性 命令:migrate disthost distport key| ‘ ’ dist-db timeout [coppy] [replace] [keys key1 key2…]
disthost:目标主机 distport:目标端口 key| ‘ ’:如果迁移的只有一个键,将这个键名写这,如果多个键这什么都不写; dist-db:目标主机的库索引 timeout:超时时间 coppy:表示不删除源库里的键 replace:覆盖目标库里同名的键
dump key–》restore 序列化 --》del源库里的这个键
慢查询: slowlog-log-slower-than 10000 //设置慢查询阈值单位是微秒 slowlog-max-len 128 //记录慢查询日志的条数,超过后从最早记录的条数开始删除; 命令; slowlog get 查询慢查询日志 slowlog len 显示目前慢查询日志的条数 slowlog reset 重置慢查询日志
redis shell: 【redis-cli】: 【-r】:-r count:表示将命令执行count次; 【-i】:每隔几秒执行一次,和-r一起使用 【-x】:从标准输入(stdin)读取数据作为redis-cli的参数 【-a】:当redis设置了密码,-a后面跟密码 requirepass “123.com” 【–scan】:遍历键 【–slave】:作为从节点登录 【–rdb】:备份 【–latency】:查询延迟 客户端到服务器的网络延时 【–latency-history】:分时段查询延时 【–latency-dist】:使用统计图形式从控制台输出延迟统计信息 【–start】:实时获取redis的重要统计信息
【redis-server】: 【–test-memory 1024】 检查当前系统是否稳定的给redis分配指定的内存容量
【redis-benchmark】:可以为redis进行基准性能测试 【-c】代表客户端并发量(默认50) 【-n】后面跟数字,代表客户端总量默认100000 【-r】在一个空的redis上执行redis-benchmark,并向redis里面插入更多的随机键 【-p】每个请求pipe流水线的数据量 【-k】代表客户端是否使用keepalive,1为使用,0为不使用
pipeline:流水线 RTT:时延:发送时延、传输时延、列队时延、结果返回时延 redis-server在上海 redis-cli在北京 批量执行命令:5 RTT 1
redis事务: 抖音:用户A 关注了 用户B 在用户A的关注列表里加入了“用户B”,用户B的粉丝列表里加入了“用户A” 开启事务:multi 提交事务:exec 取消事务:discard
bitmaps:位图:对应的value 的值只有:0/1 记录用户等登录情况:一刀三杀 offset:date 04-01 命令: 1.设置值:setbit key offset value(0/1) 2.获取值:getbit key offset 3.bitcount start end 获取指定范围内值为1的个数
hyperloglog:可以使用极小的内存来统计独立总数; ip访问量:独立ip访问量 命令: pfadd、pfcount、pfmerge pfadd key member … pfcount key pfmerge keyname key1 key2 …
发布订阅: 消息发布者和消息的订阅者不直接进行通信,订阅者订阅相关的channel,发布者只要在相同的频道发布消息,所有订阅者就能接收到这个消息了
命令: 1.订阅消息: subscribe channel psubscribe china* 2.发布消息; publish channel message 3.取消订阅 unsubscribe channel… 4.查询订阅: (1)查看订阅的频道; pubsub channels (2) 查看订阅数 pubsub numsub channel
GEO:以经纬度来标识元素的地理位置 1,增加地理位置信息 geoadd key longitude memeber1 [longitude latitude member2 ]…
2.获取地理位置信息geopos key member1 member2 …
3.获取2个地理位置的距离: geodist key member1 member2 [unit] unit取值:m米 km千米 mi英里 ft尺
4.获取指定位置范围内的地理位置信息 (1)以经纬度返回的信息: georadius key longitude latitude randiusm|km|m|ft|mi [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key]
(2)georadiusbymember key member radius m|km|mi|ft [withcoord] [withdist] [withhash] [COUNT count] [asc|desc] [store key]