Redis随笔-rename效率问题】的更多相关文章

背景 rename是redis中给key重命名命令,rename key newkey的意思就是将key重命名为newkey.大部分文档在介绍rename的时候只将它描述成一个时间复杂度为O(1)的命令,却忘了说明它可能导致的性能问题(涉及覆盖旧值的时候 时间复杂度应该是O(1)+O(M)). 我们先做个试验看看rename的问题. 现象 先搭建一个redis服务器,版本号为3.2,看看它的内存信息 127.0.0.1:8401> info memory # Memory used_memory…
Redis 随笔 1. 特点 非关系数据库 non-relational database 内存数据库 高性能 主从复制 可持久化存储 发布与订阅 支持脚本 2. 数据类型5种 STRING 可以是字符串.整数.浮点数 操作 对整个字符串或都字符串的一部分执行操作: 对整数或浮点数执行自增或自减操作: LIST 链表,每个节点都包含一个字符串 操作 从链表两端推入或弹出元素: 依据偏移量对链表进行修剪(trim); 读取单个或者多个元素: 依据值查找或移动元素: SET 包含字符串的无序收集器,…
如果想了解 redis 与Memcache的区别参考:Redis和Memcache的区别总结 阿里的面试官问问我为何redis 使用跳表做索引,却不是用B+树做索引 因为B+树的原理是 叶子节点存储数据,非叶子节点存储索引,B+树的每个节点可以存储多个关键字,它将节点大小设置为磁盘页的大小,充分利用了磁盘预读的功能.每次读取磁盘页时就会读取一整个节点,每个叶子节点还有指向前后节点的指针,为的是最大限度的降低磁盘的IO;因为数据在内存中读取耗费的时间是从磁盘的IO读取的百万分之一 而Redis是…
近期项目用到了缓存,我选用的是主流的google.guava作本地缓存,redis作分布式 缓存,先说说我对本地缓存和分布式缓存的理解吧,可能不太成熟的地方,大家指出,一起 学习.本地缓存的特点是速度快,不会受到网络阻塞的干扰,但由于是放在本地内存中,所 以容量较小,不能项目间共享比IO效率高比redis,且不会持久化.所以拿来存储一些数据 很少,但又经常执行的,甚至只要启动程序就会访问的数据. 我们可以自定义初始化本地缓存的方法,指定存储量和缓存淘汰机制. /** * 初始化本地缓存 */@P…
1.虚拟机环境 使用的Linux环境已经版本: Centos 7   64位系统 主机ip: 192.168.56.180 192.168.56.181 192.168.56.182 每台服务器是1主1从,实验3台服务器课成为3主3从. Redis安装的项目目录.日志.配置文件等都存放在/root/svr/目录下. 2.下载相关的安装包以及解压 首先在192.168.56.180机器操作: cd /root/svr wget http://download.redis.io/releases/r…
1.安装redis cd /root/svr/wget http://download.redis.io/releases/redis-3.2.9.tar.gz tar -zxvf redis-3.2.9.tar.gz cd redis-3.2.9 make install PREFIX=/root/svr/redis-3.2.9 #安装 2.配置主从配置文件 cd /root/svr/redis-3.2.9 mkdie 6379 #存储主master的配置信息.log日志.rdb.aof数据存…
1.首先在win10下安装redis desktop manager 2.查看虚拟机防火墙状态,启动状态,则关闭掉 查看防火墙状态: systemctl status firewalld.service 关闭防火墙: systemctl stop firewalld.service 3.关闭redis,修改redis.conf 关闭redis: ps -ef|grep redis kill 进程id vim /src/redis/etc/redis.conf #注释掉本地连接 #bin 127.…
1.到官网下载redis上传服务器或者使用wget 下载 wget redis下载的路径 2.查看linux是否安装编译环境gcc,没有先安装 yum -y install gcc 3.解压redis tar -zxvf redis-.tar.gz 4.进入解压redis的目录下编译redis cd redis- make 5.安装redis到指定位置 mkdir /srv/redis make install PREFIX=/srv/redis 6.将配置文件复制到redis安装目录下 cp…
dump.rdb:快照文件 删除这个文件 rm -f dump.rdb 第一步:创建6个redis实例,端口号从7001~7006 第二步:修改redis的配置文件 1.修改端口号 修改redis.conf配置文件 知识点:内容查找 在查看状态下,输入/搜索内容,回车,如/cluster 2.打开cluster-enable前面的注释. 保存并退出 修改2-6的端口号 第三步:把创建集群的ruby脚本复制到redis-cluster目录下. cp *.rb /usr/local/redis-cl…
1.官网文档 https://redis.io/topics/protocol http://www.redis.cn/topics/protocol.html 2.协议介绍 redis协议规范(Redis Protocol specification). redis协议在以下几点之间做出了折衷: (1)简单的实现 (2)快速地被计算机解析 (3)简单得可以能被人工解析 (4)网络层,Redis在TCP端口6379上监听到来的连接(本质就是socket),客户端连接到来时,Redis服务器为此创…