
NoSQL
文章平均质量分 88
@航空母舰
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis Module之RedisJSON
Redis Modules System是4.0出现一大改动点,使得可以通过外部模块对Redis进行功能性扩展。在使用 Redis 中,我们可以使用大量的 Redis 模块来扩展 Redis 的功能,这里安装使用 ReJSON模块。RedisJSON简介RedisJSON是RedisLabs公司开发的一款用于扩展Redis的JSON处理模块,能够让Redis像处理其他类型键一样处理JSON格式的数据,相当于扩展了Redis的数据类型。一、安装ReJSONgithub上下载ReJSON的源码:原创 2021-06-18 09:13:41 · 1587 阅读 · 0 评论 -
redis集群 数据分片 哈希槽
redis的主从和哨兵两种集群方案,redis从3.0版本开始引入了redis-cluster(集群)。从主从-哨兵-集群可以看到redis的不断完善;主从复制是最简单的节点同步方案无法主从自动故障转移。 哨兵可以同时管理多个主从同步方案同时也可以处理主从自动故障转移,通过配置多个哨兵节点可以解决单点网络故障问题,但是单个节点的性能压力问题无法解决。 集群解决了前面两个方案的所有问题。二、Redis的分片机制Redis 集群没有使用一致性hash, 而是引入了哈希槽的概念。Redis Cl原创 2021-10-25 14:14:07 · 4357 阅读 · 0 评论 -
Redis异步队列与延时队列
异步消息队列说道消息队列,你肯定会想到Kafka、Rabbitmq等消息中间件,这些专业的消息中间件提供了很多功能特性,当然他的部署使用维护都是比较麻烦的。如果你对消息队列没那么高要求,想要轻量级的,使用Redis就没错啦。Redis通过list数据结构来实现消息队列.主要使用到如下命令: lpush和rpush入队列 lpop和rpop出队列 blpop和brpop阻塞式出队列 废话补不多说上代码:<?php$redis = new Redis()原创 2021-10-22 17:13:14 · 1269 阅读 · 0 评论 -
redis的key命名规范
一、键值设计1. key名设计【建议】: 可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:idredis使用的时候注意命名空间,一个项目一个命名空间,项目内业务不同命名空间也不同。一般情况下: 1) 第一段放置项目名或缩写 如 project 1) 第二段把表名转换为key前缀 如, user: 2) 第三段放置用于区分区key的字段,对应mysql中的主键的列名,如userid 3) 第四段放置主键值,如18,16...原创 2021-09-17 11:10:15 · 6399 阅读 · 0 评论 -
ElasticSearch SQL转DSL
前文Elasticsearch在较高版本中内置SQL查询的功能,猜想本质上应该是将SQL语句转化为原生的DSL语句,再使用原生进行查询,可以让不熟悉ES的用户能通过SQL语句快速查询结果,降低使用门槛减少学习成本。另外,ES也提供Java客户端以JDBC的方式连接查询,但该方式是收费的。所以,如果用户不想购买服务建议使用官方提供的免费的restful的方式去查询,例如Java REST Client。当不熟悉ES原生的DSL语句的时候,可以先使用SQL编写查询语句,然后再使用ES自带的请求将SQL语句翻原创 2021-09-02 13:27:33 · 4574 阅读 · 0 评论 -
redis keys scan筛选
查找符合某个条件比如前缀为cart_的key,这里我预先插入了一万条数据,在正式开始之前先说一下keys 指令的匹配规则:keys pattern里面有3个通配符 分别是 *,?,[]*:通配多个任意字符 ?:通配单个字符 []:通配数组内的某个字符这些通配都可以组合使用,比如我插入了四个键keys *l* //代表含有l的键// "cdf_xl"、"abc_lele" keys *_? //代表倒数第二个为_的键//"1_c" keys *[_xl]? //代表倒数原创 2021-08-25 15:26:21 · 1504 阅读 · 0 评论 -
smarty的插件功能是smarty模板的精华
插件,对变 量$yesterday进行格式化。在我们的php文件中,并不需要对date_format进行处理,我们只要拿来用就好了。二,smarty插件命名规则1,插件文件名命名规则 type . name .php type有以下几种function modifier block compiler prefilter postfilter outputfilter resource insert 例如:modi原创 2011-07-21 16:58:05 · 190 阅读 · 0 评论 -
MongoDB 远程连接 权限 CURD例子
se adminswitched to db admin> db.addUser('tank','test');#version 3.3> db.createUser({user:'admin', pwd:'0rb!t', roles:[{ role: "userAdminAnyDatabase", db: "admin" }] });db.createUser({user:"admin",pwd:&原创 2011-10-18 11:59:41 · 413 阅读 · 0 评论 -
MongoDB应用场景
MongoDB是NoSQL的非关系型数据库,他的存储数据可以超过上亿条(老版本的mongodb有丢数据的情况,新版本不会有,网上说的),mongodb适合存储 一些量大表关系较简单的数据,易于扩展,可以进行分布式文件存储,适用于大数据量、高并发、弱事务的互联网应用,例如用户信息,用户注册信息,公司注册信息,留言,评论,操作日志,mongodb还能用分布式文件存储信息,我们主要用mongodb来存储我们项目里面的操作日志(银行的付款转账记录,角色权限的变动日志),我们主要是结合aop来使用的,首先我们来配置一原创 2013-04-23 16:48:23 · 638 阅读 · 0 评论 -
PHP 实现Redis分布式锁 消息队列
机之间共享了一个或一组资源,那么访问这些资源的时候,往往需要互斥来防止彼此干扰来保证一致性,在这种情况下,便需要使用到分布式锁。 首先,为了确保分布式锁可用,我们至少要确保锁的实现同时满足以下四个条件:互斥性。在任意时刻,只有一个客户端能持有锁。不会发生死锁。即使有一个客户端在持有锁的期间崩溃而没有主动解锁,也能保证后续其他客户端能加锁。具有容错性。只要大部分的Redis节点正常运行,客户端就可以加锁和解锁。解铃还须系铃人。加锁和解锁必须是同一个客户端,客户端自己不能把别人加的锁给原创 2018-10-31 11:04:52 · 452 阅读 · 0 评论 -
Redis的9种数据类型
在具体描述这几种数据类型之前,我们先通过一张图了解下 Redis 内部内存管理中是如何描述这些不同数据类型的:首先Redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type代表一个value对象具体是何种数据类型,encoding是不同数据类型在redis内部的存储方式,比如:type=string代表valu...原创 2018-11-01 09:53:57 · 24057 阅读 · 4 评论 -
Redis的各项功能解决了哪些问题
Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用。同时支持strings,lists,hashes,sets,sorted sets,bitmaps,hyperloglogs和geospatial indexes等数据类型。它还内建了复制,lua脚本,LRU,事务等功能,通过redis sentinel实现高可用,通过...........................原创 2018-11-30 10:15:35 · 959 阅读 · 0 评论 -
Redis 慢查询分析
配置Redis 通过 slowlog-log-slower-than 和 slowlog-max-len 分别配置慢查询的阈值,以及慢查询记录的日志长度。 slowlog-log-slower-than 默认值 10*1000微秒,当命令执行时间查过设定时,那么将会被记录在慢查询日志中。config set slowlog-log-slower-than 20000config set slowlog-max-len 1000config rewrite慢查询日志被存放在 Redis 内原创 2018-11-30 13:27:14 · 188 阅读 · 0 评论 -
Redis持久化的几种方式
为什么要用持久化由于Redis的数据都存放在内存中,如果没有配置持久化,redis重启后数据就全丢失了,于是需要开启redis的持久化功能,将数据保存到磁盘上,当redis重启后,可以从磁盘中恢复数据。类似memcachedb让memcached具备了事务恢复能力、持久化能力和分布式复制能力,非常适合于需要超高性能读写速度,但是不需要严格事务约束,能够被持久化保存的应用场景。redis提供两种方式进行持久化,一种是RDB持久化(原理是将Reids在内存中的数据库记录定时 dump到磁盘上的RDB持.原创 2018-12-03 14:51:24 · 214 阅读 · 0 评论 -
几个smarty小技巧
test} <img src="testimg.jpg">{/capture}<div class="image"> {$smarty.capture.test}</div> 说明: 在{capture name="test"}和{/capture}之间的内容被存储到变量$test中,该变量由name属性指定.在模板中通过 $sm原创 2011-07-21 16:49:49 · 136 阅读 · 0 评论 -
PHP比较全面的缓存类
t'=>'localhost')));echo $cacheObj->cache('key','value');*/class wrapperCache { const DEFAULT_MEMCACHE_PORT = 11211; const CACHE_TYPE_AUTO = 'auto'; const CACHE_TYPE_EACCELERATOR = 'eaccelerator'; co原创 2011-06-20 14:52:02 · 134 阅读 · 0 评论 -
2PHP页面片段缓存
原创 2010-11-02 13:49:46 · 139 阅读 · 0 评论 -
PHP生成静态HTML的技术原理
原创 2010-11-02 14:04:18 · 120 阅读 · 0 评论 -
网站静态化
页面,最后一种是pathinfo技术。伪静态 下, 如果是apache服务器,是通过.htaccess文件来操作。如果是IIS服务器,则是通过httpd.ini和rewrite.dll来实现。伪静 态处理的关键技术是配置文件的规则如何得到有效的控制,并在html页面里对应起来,一旦规则改变,则html页面里的链接也需要根据规则动态的改变。后 台设置规则,并且写入.htaccess文件,同时根据规则生成php语言的规则,那么在php程序里根据规则显示页面的不同内容。这种方式的难点在于对 htaccess文原创 2010-11-17 17:39:59 · 202 阅读 · 0 评论 -
理解缓存
原创 2011-01-17 15:36:52 · 95 阅读 · 0 评论 -
3.PHP静态类
{ $this->fileName = $fileName; $this->mod = "wb"; $this->handle = false; $this->Templet = ""; $this->DataSource = array(); $this->Dir = ""; } // 绑定数据源,参数为一原创 2011-01-17 16:10:18 · 111 阅读 · 0 评论 -
2PHP页面缓存
cache->cacheCheck();echo date("Y-m-d H:i:s");//$cache->clearCache('mv_moves.php');$cache->caching();*/class cache { //缓存目录 var $cacheRoot = "./cache/"; //缓存更新时间秒数,0为不缓存 var $cacheLim原创 2011-01-17 16:42:42 · 148 阅读 · 0 评论 -
缓存命中率
rl写的,我也没试过windows能不能用。后来发现个简单的办法可以做到,就是使用Telnet。首先登录到服务器,然后在cmd命令行中键入telnet 127.0.0.1 11211其中127.0.0.1是服务器的地址(这里是本机) ,11211是memcached绑定的端口号。之后命令行窗口全黑只有光标提示,摸黑输入stats,即可得到描述Memcached服务器运行情况的参数。如下图:其中,uptime 是memcached运行的秒数,cmd_get是查询缓存的次数。这两个数据相除一原创 2011-01-19 15:50:17 · 269 阅读 · 0 评论 -
缓存管理与监控工具
原创 2011-01-20 11:03:22 · 363 阅读 · 0 评论