NoSQL
NoSQL ,(Not Only SQL),泛指非关系型数据库。
特点:NoSQL 通常是以key-value形式存储, 不支持SQL语句, 没有表结构。
主要NOSQL对比.png
Redis
Redis是Remote Dictionary Server(远程数据服务)的缩写,是一种观念缓存数据库,支持存储的value类型很多,包括string(字符串)、hash(哈希)、list(链表)、set(集合)、Zset(有序集合)。
为什么要用缓存数据库?就和为什么要用内存条一样,减少访问数据库的次数。
redis与memcache比较
(1)数据类型:memcache支持的数据类型就是字符串,redis支持的数据类型有字符串,哈希,链表,集合,有序集合。
(2)持久化:memcache数据是存储到内存里面,一旦断电,或重启,则数据丢失。redis数据也是存储到内存里面的,但是可以持久化,周期性的把数据给保存到硬盘里面,导致重启,或断电不会丢失数据。
(3)数据量:memcahce一个键存储的数据最大是1M,而redis的一个键值,存储的最大数据量是1G的数据量。
常用操作
存数据:set key value 取数据:get key 删数据:del keytype key 查看key类型 keys pattern 返回指定类型的key reaname oldkey newkey 重命名 /*************、、字符串、、**************/ 取:get key value 存:set key 加1:incr key 减1:decr key 加x:incrby key X 减x:decrby key x 取后修改:getset key value 拼接x:append key x /*************、、hash、、**************/ 取:hget key 字段 存:hset key 字段 值 取全部:hgetall key 存多个:hmset key 字段1 值1 字段2 值2 ···· 删除:hdel key 字段 获取值:hvals key 获取字段:hkeys key /*************、、列表、、**************/ 存:lpush key 值1 值2 ······ 左取:lrange key 第几个开始 第几个结束 左取:lpop key 第几个开始 第几个结束 右取:rpop key 第几个开始 第几个结束 获取长度:llen key 头部插入:lpushx key 值 尾部插入:rpushx key 值 上-下删除:lrem key 删几个几 下-上删除:lrem key 负数删除几个几 删除所有:lrem key 0 删除的数 插入:linsert key before 值 在值前插入的数 :linsert key after 值 在值后插入的数 移动数据:rpoplpush key1 key 【key1少1 key2多1】 /*************、、set[唯一性]、、**************/ 添加:sadd key 值1 值2 值3 删除:srem key 值1 值2 查看:smembers key 是否存在:sismembers key 要找的值 差集运算:sdiff key1 key2 交集运算:sinter key1 key2 并集运算:sunion key1 key2 得到数量:scart key 取随机数:srandmemder key 差集另存:sdiffstore 另存的key key1 key2 交集另存:sinterstore 另存的key key1 key2 并集另存:sunionstore 另存的key key1 key2 /*************、、sorted-set、、**************/ 添加:zadd key 值1 字段1 值2 字段2····· 可以覆盖:原有的数据可以覆盖 查找1个:zscore key 字段 删除:zrem key 字段1 字段2 产看长度:zcard key 查看数据;zrange key 0 -1 展示所有对应的数据:zrange key 0 -1 withscores (由小到大) 展示对应的数据:zrevrange key 0 -1 withscores(由大到小) 按顺序多个删除:zremrangebyrank key 要删除的区间 按分数删除:zremrangebyscore key 分数的区间 限制条数:zrange key 0 -1 withscores limit 第几条开始 显示条数 加减分数:zincrby(zdecrby) key 加减分数(3) 字段(李四) 统计条数:zcount key 区间 /*************、、key的应用、、**************/ 修改key:rename 原名 新名 过期时间:expire key 时间(1000秒) 查看过期时间:ttl key 查看类型:type key redis的特性 多数据库 最多提供16个数据库 默认使用的是0号数据库 选择数据库:select 库的编号 数据换库:move key 数据库的编号 支持事务 multi 开启事务exec 提交事务 discard 回滚 redis持久化 RDB ( 可以拷贝数据,但是断网都不存在) AOF (安全,断网了,修改的数据会丢失,出现断网,日志文件不会丢失,文件过大,可以重写)
作者:快乐的提千万
链接:https://www.jianshu.com/p/78122cdacf53