1.1. 什么是NoSql
NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,它泛指非关系型的数据库。随着互联网2003年之后web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的交友类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展。
关系型数据库:以关系(由行和列组成的二维表)模型为核心数据库. 有表的储存系统
RDBMS (关系型数据库): mysql(现在都喜欢使用开源免费),oracle(有钱),SQLserver,postgrep db2 ,access...等
Redis 在后台做缓存
redis和memcached是key-value的Nosql,主要用来做缓存的.
2.1. Redis是什么
(1)Redis 是一个高性能的 开源的、C语言写的Nosql(非关系型数据库),数据保存可以存储在内存中或者磁盘中。
(2)Redis 是以key-value形式存储,和传统的关系型数据库不一样。不一定遵循传统数据库的一些基本要求,比如说,不遵循sql标准,事务,表结构等等,redis严格上不是一种数据库,应该是一种数据结构化存储方法的集合。--数组 list set map ...
数据结构:数组,list,set,map等
redis提供了一下操作方法,我们使用这些方法就可以对存入字符串,组织成各种类型数据库结构(string,list,set,map等).
(1) 最多 就是缓存 --redis
(2)计数器应用 -- 微博 热点新闻 -- 转载 点赞(高并发)
(3)实时防攻击系统 -- 银行网站 (登录) --计数 (ip 同一个ip + 5)
? redis--支持断电恢复 内存和磁盘
(4)有效期的应用 -- 道具 红包 优惠券 ...
(5)支持无序的场景 -- set特效
(6)队列 -->quene -->秒杀 抢购 --redis
(7)消息系统订阅发布 -->redis
(1)安装
? 直接解压
启动redis服务(带配置文件启动,和不带配置文件启动)
在解压文件中输入cmd指令:redis-server.exe redis.windows.conf
启动成功后,点击redis-cli.exe启动客户端
进行操作。
(1)基本操作
? 对字符串操作
? set key value
? get key
? mset /mget
? incr decr incrBy decrBy
(2)对key的操作
? keys *
? expire key seconds
? ttl key
? del key
? flushall 清库 (0-15个)
? flushdb 清当前库
? select index
(3)对list操作
? lpush(rpush) key value1/value2...
? lpop(rpop) key 弹出一个值
? lrange key start stop 搜索查询
? lrem key count value 移出
? lindex key index
? ltrim key start stop (对集合进行修剪)
(4)set操作
? sadd key members 添加值
? srem key member 删除值
? smembers key 查看可以对应的值
(5)hash操作
? hset key name value --设置key value
? hget key name --通过key获取值
? hmset key name1 key1 name2 key2 --批量设置
? hmget key name1 name2 --批量获取
? hkeys --获取所有的key
? hvals --获取所有的value
? hgetall --获取所有的key和value
以后使用比较多的结构:
? string /list /map(hash) /set ---常用
?
原文:https://www.cnblogs.com/bigbigxiao/p/12069697.html