Nosql:不仅仅是SQL
特点:解耦
1、方便扩展(数据之间没有关系,很好扩展)
2、大数据量高性能(Redis一秒读写八万次,读取11万,NoSQL的缓存记录级,是一种细粒度的缓存,性能会比较高)
3、数据类型是多样型的!(不需要事先设计好数据库,随取随用)
4、传统的RDBMS和NoSQL
MongoDB:
是一个基于分布式文件存储的数据库,C++编写,主要用来处理大量的文档
是一个介于关系型和非关系型数据库中中间的额产品,是非关系型数据库中功能最丰富的,最像关系型数据库的
Redis
内存存储,持久化,效率高,可以用于高速缓存。
基础知识:
redis默认有16个数据库,默认使用第0个,可以使用
select 数字 //却换数据库
DBSIZE //查看数据库大小
keys //查看所有的Key
set key 字符串 //设置值
get name //获取名称
flushdb //清除当前的数据库
flushAll //清除所有的数据库
APPEND key “字符串” //追加字符串,如果当前key不存在,就相当于set key
STRLEN key //获取字符串的长度
注:阅读量或者浏览量是怎么设置的views
set views 0 //设置浏览量为0
get views //获取浏览量
incr views //浏览量加1
decr views //浏览量减1
步长:
INCRBY views 10 //一次性增长10个
DECRBY views 10 //一次性减10个
截取字符串:
GETRANGE key 0 3 //截取字符串【0,3】
GETRANGE key 0 -1 //获取全部的字符串和get key是一样的功能
替换:
SETRANGE key 1 字符串 //从第二个字符串开始替换成指定字符串
设置过期时间
setnx key 30 “字符串” //设置key的值为”字符串“,30秒后过期
setnx mykey “字符串” //如果字符串不存在则创建,返回值1,若存在则创建失败,返回值0
同时设置多个值:
mset k1 v1 k2 v2 k3 v3 //同时设置多个值
mget k1 k2 k3 //同时获取多个值
msetnx k1 v1 k4 v4 //一个院子性的操作,要么都成功要么都失败
对象:
set user:1 {name:zhangsan,age:3} //设置一个user:1对象,值为json字符来保存一个对象
mset user:1:name zhangsan user:1:age 2 //设置值
mget user:1:name user:1:age //获取值