一、Redis数据库
NoSQL简介
NoSQL(Not Only SQL)
NoSQL指的是非关系型数据库,是对不同于传统的关系型数据库的数据库管理系统的统称,NoSQL是web 2.0时代海量数据催生的产物。
特点
1.不支持SQL语法
NoSQL的世界中没有一种通用的语言,每种n osql数据库都有自己的语法,以及擅长的业务场景
2.读写性能高
NoSQL数据库都具有非常高的读写性能,尤其在海量数据下,它的表现非常优秀
3.灵活的数据模型
NoSQL的存储方式十分灵活,存储方式可以是JSON文档、键值对(Key Value)或者其他方式
二、Redis简介
Redis是由意大利人开发的一款内存高速缓存数据库,是一个 高性能的键值对(key-value)存储数据库。Redis全称为: Remote Dictionary Server(远程数据服务),使用C语言编写,并以内存作为数据存储介质,所以读写数据的效率极高
Redis特性
1.Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
2.Redis不仅仅支持简单的key-value类型的数据,同时还把value分为list,set,zset,hash等数据结构存储。
3.因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,提高效率。
三、Redis数据模型
Redis数据结构
redis是key-value的数据结构,每条数据都是一个键值对
键的类型是字符串
注意:键不能重复
值的类型分为五种:
①String ------> 字符串
②Hash ------> 哈希
③List ------> 列表
④set ------> 集合
⑤Zset ------> 有序集合
Redis基本使用
1.连接redis:redis-cli
2.退出:exit
3.操作服务端:service redis start/stop/restart
4.切换数据库:select n
数据库没有名称,默认有1 6个,通过0-15来标识,连接redis默认选择第一个数据库。
Redis基本认识总结
四、Redis五大数据类型使用
String类型
string是redis最基本的类型,一个key对应一个value。
1.设置数据:set key value
2.查看数据:get key
3.追加数据:append key value
4.删除数据:del key
全局key操作
对redis的五个数据类型都使用的命令
1.查看所有的key:keys *
2.删除键值对:del key
exists key 查看key是否存在,存在返回1,比存在返回0
3.改名:rename key new_key
4.设置过期时间:expire key seconds
ttl 查看时间 persist key 删除过期时间
ttl k1,k1存在过,但已经被删除了,返回-1,
ttl k2,k2不存在,返回-2
List类型
List类型是一个字符串列表,可以在列表头部或尾部添加/删除数据,在插入数据时,如果该键并不存在,Redis将为该键创建一个。
1.添加数据:rpush key value [value…] ---- 右边添加数据
lpush key value [value…] ---- 左边添加数据
2.查看数据:lrange key start stop number ---- 查看全部数据
lindex key number ---- 查看某个数据
3.修改数据:lset key index value
4.删除数据:rpop key ---- 右边删除数据
lpop key ---- 左边删除数据
key是名字,value是值
Hash类型
是一个键値(key= > value)对集合。是string 类型的field和value的映射表。
user { name:space, age:18 }
user key(键) name,age field(域) space,18 value(值)
1.添加数据:hset key field value
2.查看域值:hget key field
hgetall key ---- 查看所有的field和value
3.查看所有的value:hvals key
4.查看所有的field:hkeys key
key是名字,filed value是键值对
hash 可以用来添加数据,如果该数据已有,则修改,有则改,无则增
Set类型
Set类型为无序的字符集合,元素具有唯一性,不重复
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 …]
可以插入双精度的浮点数,如0.6,1.2,2.3等
2.查看数据: zrange key start stop
zrangebyscore key min max -- 通过scores值查看
3.删除数据:zrem key member [member …]
4.通过索引删除多个数据:zremrangebyrank key min max
zremrangebyscore key min max -- 通过scores值删除
总结