
简而言之,Redis是一种强大的key-value数据库,之所以强大有两点:响应速度快(所以数据内存存储,只在必要时写入磁盘),特性丰富(支持多种数据类型,以及各类型上的复杂 *** 作)。
事实上,Redis的一个重要特性就是它并非通常意义上的数据库,虽然称之为数据库是因为它可以为你存储和维护数据,但它并不像关系数据库那样提供任何的SQL方言。不过不用担心,Redis并不是吞噬数据的黑洞,它只是不支持SQL及相关功能,但却提供了稳健的协议用于与之交互。
在Redis中,没有数据表的概念,也无须关心select、join、view等 *** 作或功能,同时也不提供类似于int或varchar的数据字段。你面对的将是相对原始的数据集合及数据类型。
探索之二:Available datatypes
下面我们深入看下这个奇怪的数据库是如何工作的。如上所见,Redis是基于key-value范式存储数据,所以先来重点看下"key"的概念。
key本质上就是简单的字符串,诸如"username"、"password"等。在定义key时,除了不能使用空格,你可以随意的使用普通的字符、数字等,像"",":","_"等在定义key时都能正常使用,所以像"user_name", "user:123:age", "user:123:username"都是不错的key的定义方式。
不像RDBMS中的字段名称,这里的key是Redis中的重要组成部分,所以我们必须在处理key时多加小心。在下面的讲述中,Redis并没有table的概念,所以像"SELECT username from users WHERE user_id=123;"这种简单任务都只能换种方式实现,为了达到这种目的,在Redis上,一种方式是通过key "user:123:username"来获取结果value。如你所见,key的定义中携带了神秘信息(像user ids)。在Redis中,key的重要性可见一斑。(其他key-value数据库中key的地位也是如此。)
单独使用Redis的话,它是成当不起数据库的任务,比如你每日活跃用户是1万人,但是你那台redis里面已经积累了50万人了(这个比例很正常),那么每次redis启动,就需要把50万load内存,每次redis备份,又需要把50万dump到磁盘,这靠谱么?
======================
补充1:可以用SSDB代替(redis协议+leveldb存储),生产环节若干 PCU百万级项目用过。
补充2:看了下陌陌争霸的方案,旁路存储,如果觉得时间充足,也可以仿照实现。
补充3:把冷数据落地到mongo,热数据在用redis存储。
第一步,在windows下载安装配置好redis数据库。这里我就不再概述了。下载jedis-242jar,当然最好是下载最新版本的jar包。这个在百度搜索下就出来的。下载后,放在一个文件夹下面,一会会需要到。
第二步。打开eclipse,新建一个java工程。如下图所示:
第三步:在Test这个java工程里面,我们新建一个folder,命名lib,把刚才下载的jedis-242jar包放在我们新建的lib的包下面,如下图所示:
第四步,在eclipse中,选中jar包,build path下。然后我们再Test这个项目里面我们新建一个class,class名字为TestConnect。
可能是由于php版本导致的。
解决办法:
1删除redisso文件。
2删除phpredis-master目录。
3重新安装Redis的PHP扩展。
Redis是一个主要由SalvatoreSanfilippo(Antirez)开发的开源内存数据结构存储器,经常用作数据库、缓存以及消息代理等。Redis不仅可以单机使用,还可以多机使用:通过Redis自带的复制、Sentinel和集群功能,用户可以将自己的数据库扩展至任意大小。
以上就是关于如何访问redis数据库全部的内容,包括:如何访问redis数据库、redis怎么做数据库、redis 怎么加载数据库数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)