NoSQL,泛指非关系型的数据库。随着互联网web2.0网站的兴起,传统的关系数据库在处理web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。NoSQL数据库的产生就是为了解决大规模数据集合多重数据种类带来的挑战,特别是大数据应用难题。
NoSQL数据库分为四大类:键值存储数据库,文档型数据库,列存储数据库和图形数据库,其中每一种类型的数据库都能解决关系型数据不能解决的问题。
数据库类型 | 说明 | 代表 |
---|---|---|
键值存储数据 | 这一类数据库主要使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据 | Redis |
文档型数据库 | 文档型数据库可看做是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高 | MongoDB |
列存储数据库 | 用来应对分布式存储的海量数据。键仍然存在,但特点是指向了多个列 | HBase |
图形数据库 | 图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,他是使用灵活的图形模型,并且能拓展到多个服务器上 | Neo4J,InfoGrid,Infinite Graph |
Redis 是一个开源的,存储 键值(key-Valus)数据库 ,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询。
Redis 内置了复制(replication),LUA脚本(Lua scripting), LRU驱动事件(LRU eviction),事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel)和自动分区(Cluster)提供高可用性(high availability)。
./src/redis-server
./src/redis-cli
如果我们直接通过redis-server来启动,会以一个单独的会话进程来启动,当我们关闭这个会话的时候,那么Redis的服务也就关闭了,这是我们可以通过修改src下的redis-conf文件来配置Redis守护进程启动。
./src/redis-server redis.conf
./src/redis-cli
关闭服务可以通过shutdown来实现
127.0.0.1:6379> shutdown not connected> [root@biao redis]# ./src/redis-cli Could not connect to Redis at 127.0.0.1:6379: Connection refused Could not connect to Redis at 127.0.0.1:6379: Connection refused
退出Redis会话可以通过exit命令来实现
127.0.0.1:6379> exit [root@biao redis]# ./src/redis-cli 127.0.0.1:6379>