redis 个人使用总结
《redis 个人使用总结》要点: 使用事项1、对比关系型数据库,我们对redis key的设计一般有以下两种格式:
2、redis中事务只支持隔离和一致,不支持原子和持久.所以可以保证批量命令的执行,但无法保证数据完整性. 3、redis是单线程平安的,并发问题主要在于,若并发取出同一个数据,再进行计算后,再并发存入redis,那后写入的会覆盖先写入的,程序上理论应得结果就会异于数据库最后所存数据. 4、redis持久化的两种方式: 1) RDB(默认) 适用于内存较大的机器,使用快照保留数据,快照文件较小方便容灾,快照时会突然占用大量内存(数据越多内存占用越大),默认已配置快照触发条件. 2) AOF 适用于内存较小的机器,使用日志保留数据,日志文件较大不便容灾,每秒同步或者每修改同步 5、一般应用 主从复制1、从机只能读,无法写入任何数据 2、从机建立后,主机会将快照发给从机,从机获得主机所有数据 3、主机宕机后,从机不会推选出新主机,需启动一个哨兵—Sentinel进行管理 4、主机必需开启持久化,否则主机宕机后重新启动将会清空所有从机数据 5、若从机较多,则可以使用薪火相传方式,每台从机可以成为下一台从机的主机,即:Master <- Slave1 <- Slave2 <- Slave3... 6、slave of no one 该指令可以反客为主,将从机变为主机 集群实践(linux)1、必要开启pidfile和append备份文件所在目录的当前用户操作权限 2、最好把redis-server/cli/trib.rb 命令加入 /usr/bin 中以便随地使用 3、注意是否安装了yum install ruby 和gem install redis 4、服务器需开启和开放相应的端口 5、连接集群需使用命令:redis-cli -c -p 端口 6、连接任意节点均可存取数据,但存数据操作只转移到主节点进行 7、若删除主节点,需移动哈希槽的值到另一个主节点,主节点个数要与原来启动集群时坚持一致,否则哈希槽分配会出现缺失 8、在4.0中试验 若节点挂掉,如主节点数量足够,似乎恢复该节点后并不会自动加入原有集群(待验证) 最常见应用场景:缓存(如session缓存) 其他 2:队列 3:排行榜/计数器 4:发布/订阅 5、setbit(bitmap)统计活跃用户 常规操作字符串(Strings)
列表(Lists)
集合(Sets)
散列(Hashes)
有序集合(Sorted Sets)
其他命令(Other Commands)
发布/订阅(publish/subscribe)
过期时间(expiring keys)
位图操作(bitmap)
欢迎参与《redis 个人使用总结》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 在Synology NAS上使用Docker在GitLab上启用SSL
- 我可以使用AngularJS资源版本1.2.3编写“finally”代码吗?
- 如何从bash中的目录中选择随机文件?
- MVC5 + EF6 + Bootstrap3 (16) 客户端验证
- bash – 从多个文件添加列的简单方法
- SecureCRT上传bash rz command not found
- angularjs 2.0:无法通过组件构造函数()注入任何内容
- bash – macOS High Sierra上的参数替换错误替换错误
- ng2+ng2-bootstrap+express实现分页效果
- bash – 用于文件名中循环和空格的gnuplot