NoSQL简介
· NoSQL,全名为Not Only SQL,指的是非关系型的数据库
·随着访问量的上升,网站的数据库性能出现了问题,于是nosql被设计出来
优点/缺点
优点:
高可扩展性
分布式计算
低成本
架构的灵活性,半结构化数据
没有复杂的关系
缺点:
没有标准化
有限的查询功能(到目前为止)
最终一致是不直观的程序
redis数据操作
redis是key-value的数据,所以每个数据都是一个键值对
值的类型分为五种:
字符串string
哈希hash
列表list
集合set
有序集合zset
string
设置键值
set key value
设置键值及过期时间,以秒为单位
SETEX key seconds value
设置多个键值
MSET key value [key value ...]
根据键获取值,如果不存在此键则返回nil
GET key
根据多个键获取多个值
MGET key [key ...]
hash
设置单个属性
HSET key field value
设置多个属性
HMSET key field value [field value ...]
获取一个属性的值
HGET key field
获取多个属性的值
HMGET key field [field ...]
获取所有属性和值
HGETALL key
获取所有的属性
HKEYS key
返回包含属性的个数
HLEN key
获取所有值
HVALS key
判断属性是否存在``
HEXISTS key field
删除属性及值
HDEL key field [field ...]
返回值的字符串长度
HSTRLEN key field
list
在头部插入数据
LPUSH key value [value ...]
在尾部插入数据
RPUSH key value [value ...]
在一个元素的前|后插入新元素
LINSERT key BEFORE|AFTER pivot value
设置指定索引的元素值
索引是基于0的下标
索引可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
LSET key index value
移除并且返回 key 对应的 list 的第一个元素
LPOP key
移除并返回存于 key 的 list 的最后一个元素
RPOP key
返回存储在 key 的列表里指定范围内的元素
start 和 end 偏移量都是基于0的下标
偏移量也可以是负数,表示偏移量是从list尾部开始计数,如-1表示列表的最后一个元素
LRANGE key start stop
set
添加元素
SADD key member [member ...]
返回key集合所有的元素
SMEMBERS key
返回集合元素个数
SCARD key
求多个集合的交集
SINTER key [key ...]
求某集合与其它集合的差集
SDIFF key [key ...]
求多个集合的合集
SUNION key [key ...]
判断元素是否在集合中
SISMEMBER key member
zset
添加
ZADD key score member [score member ...]
返回指定范围内的元素
ZRANGE key start stop
返回元素个数
ZCARD key
返回有序集key中,score值在min和max之间的成员
ZCOUNT key min max
返回有序集key中,成员member的score值
ZSCORE key member