我想将Redis用作数据库,而不是缓存.根据我的(有限)理解,Redis是一个内存数据存储区.使用Redis有什么风险,我该如何减轻它们?
我正在尝试为网站编写搜索功能,我已经决定使用MySQL临时表来处理数据输入的方法,通过以下查询:
CREATE TEMPORARY TABLE `patternmatch`
(`pattern` VARCHAR(".strlen($queryLengthHere)."))
INSERT INTO `patternmatch` VALUES ".$someValues
Run Code Online (Sandbox Code Playgroud)
$someValues具有布局的一组数据在哪里('some', 'search', 'query')- 或者基本上是用户搜索的数据.然后我images根据表中的数据搜索我的主表,patternmatch如下所示:
SELECT images.* FROM images JOIN patternmatch ON (images.name LIKE patternmatch.pattern)
Run Code Online (Sandbox Code Playgroud)
然后我根据每个结果与输入匹配的程度应用启发式或评分系统,并通过启发式等显示结果.
我想知道创建临时表需要多少开销?我知道它们只存在于会话中,并在会话结束后立即被删除,但如果我每秒有数十万次搜索,我会遇到什么样的性能问题?有没有更好的方法来实现搜索功能?