(这是个非关系型数据库)
指的是非关系型数据库,是对不同于传统的关系型数据库的数据库管理系统的统称。NoSQL是web2.0时代海量数据催生的产物。
特点:
1.不支持SQL语法
-----NoSQL的世界中没有一种通用的语言,每种nosql数据库都有自己的语法,以及擅长的业务前景。
2.读写性能高
-----NoSQL数据库具有非常高的读写性能,尤其在海量数据下,它的表现非常优秀。
3.灵活的数据模型
-----NoSQL的存储方式十分灵活,存储方式可以是JSON文档,键值对(key,value)或其他方式。
是意大利人开发的一款内存高速缓存数据库,是一个高性能的键值对(key-value)存储数据库。全称是:Remote Dictionary Server(远程数据服务),使用C语言编写,并以内存作为数据存储介质,所以读写数据的效率极高。
特性:
1.Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
2.Redis不仅仅支持简单的key-value类型的数据,同时还把value分为list,set,zset,hash等数据结构存储。
3.因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,提高效率。
Redis是key value的数据结构,每条数据都是一个键值对。
键的类型是字符串。
注意:键不能重复。
值的类型分为五种:
-----(1)String ---------字符串
-----(2)Hash ----------哈希 {key:value}
-----(3) List -----------列表
-----(4)set ------------集合
-----(5)Zest --------------有序集合
127.0.0.1是本机地址;6379是端口号。
2.退出:exit
3.操作服务端:sudu seivice redis start/stop/restart
让redis服务器开始停止重启,一般都是开启状态
4.切换数据库:select n
数据库没有名称,默认是16个,通过0-15标识,连接redis默认选择第一个数据库。
string是redis最基本的类型,一个key对应一个value。
1.设置数据:set key value
2.查看数据:get key
3.追加数据:append key value
4.删除数据: del key;
5.添加多个数据: mset key value [key2 value2…]
中间空格分开!
6.查看多个数据: mget key [key2…]
7.取值的一部分: getrange key start end 注意:两边都闭。
全局key操作:
------对redis的五个数据类型都适用的命令。
1.查看所有的key: key * 中间要有空格
2.删除键值对:del key
-----exists key 查看key是否存在,如果返回1表示存在,如果返回0表示不存在。
两种使用方法: 第一种: del key exists key
-----第二种:先exists key 再del key
3.改名: rename key new_key
4.设置过期时间: expire key seconds
-----ttl key查看时间 (如果返回-1表示过期时间已经被删除;如果查看的键不存在,则返回-2) ; persist key 删除过期时间。
List类型是一个字符串列表,可以在列表头部或者尾部添加/删除数据
在插入数据时,如果该键并不存在,Redis将为该键创建一个。
1.添加数据: rpush key value[value…] 尾部添加数据 数据之间用空格分开。
----- lpush key value [value…] 头部添加数据
2.查看数据: lrange key start stop l表示列表,通过范围获取值,包括start和stop。
-----lindex key 索引下标 查看某个数据
3.修改数据: lset key 索引下标 value
4.删除数据: rpop key 尾部删除数据
----- lpop key 头部删除数据
5.指定删除: lrem key 删除次数 指定的值; 如果删除次数是0,则意思是全部删除。
1.添加数据: hset key field value
如果是新增加的数据则返回1;如果是本来就有的域,则变相为修改域所对应的值,返回为0.
如果修改某个域所对应的值,直接用添加数据的命令就可以,会覆盖掉,就相当于修改数据了。
hmset 设置多个
2.查看某一个域值: hget key field
-----hmget 查看多个域对应的值
-----hgetall key-------查看所有的field和value
3.查看所有的value: hvals key
4.查看所有的field: hkeys key
5.删除指定的域和值: hdel key field
-----del key 删除所有
Set类型为无序的字符集合,元素具有唯一性,不重复
member为key对应的值。
1.添加数据: sadd key member [member…]
2.查看数据: smembers key
3.随机删除: spop key
4.指定删除 : srem key member [member…]
Sorted Set类型(有序集合)
每一个成员都会有一个分数(score)与之关联。
成员是唯一的,但是分数(score)却是可以重复的
1.添加数据: zadd key score member [score2 member2…]
同样如果成员存在,可以用添加数据的命令修改成员对应的分数,覆盖。
2.查看数据: zrange key start stop 通过索引查看
-----zrangebyscore key min max ----通过scores值查看
如果相同分数对应多个成员,那么多个成员按ascii排序。
3.删除数据: zrem key member [member…]
4.通过索引删除多个数据: zremrangebyrank key min max 通过索引删除
-----zremrangebyscore key min max ---- 通过scores值删除
5.查看分数: zscore key member member是成员。