NoSQL的含义:Not Only SQL(不仅仅是sql),泛指非关系型数据库.
NoSQL的特点:支持高并发的读写,海量数据的存储,对数据的高可扩展性
NoSQL的类别:键值对类型,列式类型,文档类型,图形数据库
NoSQL键值对类型的产品:Redis
Redis是由C语言实现的直接操作内存的开源高性能数据库软件.
Redis的应用场景(需要频繁对数据库进行访问):缓存(数据查询,新闻内容,商品内容), 秒杀,抢火车票,排行榜的实时更新,聊天室在线好友列表的实时更新,网站访问量实时统计.
Redis的安装包:源码形式提供,一大堆.c文件
步骤一: 将.c文件编译成.o文件 =====>需要安装 : gcc
步骤二: 将编译后的文件安装在Liunx上
将Redis编译后的文件存放在 /usr/local/bin 下,即可以在任何目录下访问redis-server和redis-cli进行开启和关闭服务端客户端.
通过后台的方式redis-server /usr/local/redis/redis.conf (搭配配置文件开启)打开redis服务端后,可以通过客户端命令redis-cli shutdown进行关闭服务端.
总结:
开启服务端的命令:redis-server /usr/local/redis/redis.conf
开启客户端的命令: redis-cli,连接成功后输入ping验证
关闭客户端的命令: exit 或者 ctrl+C
关闭服务端的命令:redis-cli shutdown
①keys * :查看当前库中的所有键
②exists < key > : 查看当前库中是否存在键key
③type < key > : 查看当前库中键key的类型
④del < key > : 删除当前库中键key
⑤expire < key > < second> : 为键key设置过期时间
⑥ttl < key > : 查看当前key还有多少秒过期
⑦dbsize : 查看当前库中key 的数量
⑧flushdb : 清空当前库
①get
②set
①lpush/rpush < key > < value1 > < value2 > : 从左边/右边插入一个或多个值
②lpop/rpop < key > : 从左边或右边吐出一个值
③rpoplpush < key1 > < key2 >: 从key1右边吐出一个值插入到列表key2左边
④lrange < key > < start > < stop > : 从start到stop展示key的值
⑤lindex < key > < index > : 按照索引下标获得key的元素(从左到右,第一个索引为0)
⑥llen < key > : 获得列表长度
①sadd < key > < value > < value > : 给集合添加值
②smambers < key > : 返回集合中所有的值
③sismember < key > < value > : 判断value是否在Set中
④scard < key > : 返回集合的元素个数.
⑤srem < key > < value1 > < value2 > : 从集合中删除某些元素.
⑥spop < key > : 从集合中随机吐出一个值
⑦srandmember < key > < n > : 从集合中随机取出n个值(不会删除值)
⑧sinter < key1 > < key2 > : 返回两个集合的交集部分
⑨sunion< key1 < key2> : 返回两个集合的并集部分
⑩sdiff< key1> < key2 > : 返回两个集合的差集部分(key1中有key2中没有的)
①hset < key > < filed > < value > : 向集合中存一个值,该值的键为field,值为value
②hget < key > < filed > : 取出键为filed 的值
③hmset < key > < filed1 > < value1 > < filed2 > < value2 > : 向集合中存多个值
④hexists key < filed > : 查看是否存在键为filed 的值
⑤hkeys < key > : 获得hash集合中所有的键
⑥hvals < key > : 获得hash集合中所有的值
⑦hgetall > key > :获得hash集合中所以的键和值
⑧hsetnx < key > < filed > < value > : 无则添加,有则不添加
①zadd < key > < score1 > < value1 >< score2 > < value2 >
添加相同的分数,不同的元素,可以添加
添加相同的元素,不同的分数,不能添加,但会将之前的分数替换掉
②zrange < key > < start > < stop > : 从start到stop展示key的值
③zrangebyscore key min max : 通过分数范围来查询元素
④zrem < key > < value > : 删除该集合下指定值的元素