redis的简单介绍

redis的简单介绍

做个笔记,记录一下redis的特点吧。

1、redis非关系型数据库

Redis是用C语言开发的一个开源的高性能基于内存运行的键值对NoSQL数据库。

2、NOSQL的概念

NOSQL(Not only sql):不仅是sql语句, 它是对所有非关系型数据库的一种统称。 除去关系型数据库之外的都是非关系数据库。
这个时候就要提一下RDBMS了。
RDBMS : 关系型数据库管理系统,是建立在关系模型的基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

3、NOSQL和RDBMS的区别

RDBMS

  • 高度组织化结构化数据。 user—userid username age sex …
  • 结构化查询语言(SQL) sql语句
  • 数据和关系都存储在单独的表中。
  • 数据操纵语言DML,数据定义语言DDL
  • 严格的一致性. 事务
  • 基于事务
    NoSQL
  • 代表着不仅仅是SQL
  • 没有声明性查询语言
  • 键 - 值对存储。
  • 最终一致性,而非ACID【原子,一致,隔离,持久】属性
  • 非结构化和不可预知的数据 字符串 对象 队列 集合
  • 高性能,高可用性和可伸缩性。 适合搭建集群。 mysql搭建集群。非常复杂。主从模式。
    那么就有一个疑问了,NOSQL是替换RDBMS的吗?
    不是,NoSQL数据库正在成为数据库领域的重要力量。如果使用恰当,那么它会带来很多好处。

4、常见的NOSQL数据类型

Redis就属于非关系数据库。
Mongodb属于非关系数据库。----接近mysql数据库。

5、什么是Redis

Redis是一种开放源代码(BSD许可)的内存中数据结构存储,用作数据库,缓存和消息代理。
Redis提供数据结构,例如字符串,哈希,列表,集合,带范围查询的排序集合,位图,超日志,地理空间索引和流。
Redis具有内置的复制,Lua脚本,LRU驱逐,事务和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster自动分区提供了高可用性。
Redis是一个开源的使用ANSI C语言编写可基于内存亦可基于磁盘,Key-Value数据库。类似于map。

6、为什么使用Redis

1.Redis读取的速度是110000次/s,写的速度是81000次/s
2.原子 。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。
3.支持多种数据结构:string(字符串);list(列表);hash(哈希),set(集合);zset(有序集合)
4.持久化–磁盘,主从复制(集群)
5.官方不支持window系统,但是又第三方版本。 linux系统。

7、安装Redis

详情请参考点这里很详细的那种哦!!!

8、redis的常用命令

8、1对key的操作命令。
keys *                 : 查询所有的key;
del key....            :删除指定的key
expire key seconds     : 为指定的key设置过期时间单位为秒
ttl key                : 查询指定key的存活时间
8、2对数据库的操作命令
flushdb                : 清空当前数据库中的数据。
select index           : 选择数据库 
flushall               : 清空所有数据库中的数据。

redis支持的数据类型

放个官网链接
http://www.redis.net.cn/order/
http://redisdoc.com/
这里就简单写一些常用到的类型和命令。

  1. String字符串类型
  2. Hash 哈希类型
  3. list 队列
  4. set 集合
  5. sorted set 有序集合。

13、String字符串类型–value值为字符串类型

可以存放任意类型的字符串。java对象—>json字符串—>string

  1. set key value: 把字符串的value存放到对应的key上。
  2. get key: 根据指定的key获取对应字符串的value
  3. mset key value key value key value…: 一次存放多个字符串的value到相应的key上
  4. mget key key…: 根据指定的多个key获取对应的字符串的value
  5. setnx key value: 把指定的value存放到对应的key上,如果对应的key已经存在,则不存储。如果不存在则存储。 返回0或者1
  6. incr key: 为指定的key的value值进行递增。应用场景:点赞 收餐 转发等
  7. decr key: 递减

14、Hash类型。–value值为hash类型。

  1. hset key field value: 存放一个指定key的field-value的数据库。
  2. hget key field:获取指定key的field字段对应的value值。
  3. hkeys key: 获取指定key的所有field字段名
  4. hvals key: 获取指定key的所有value值。
  5. hgetall key: 获取指定key的所有的field和value值。
  6. HDEL key field: 删除指定key的field字段。

15、List队列类型

  1. lpush: 将一个或多个值 value 插入到列表 key 的表头。
  2. lpop: 移除并返回列表 key 的头元素。
  3. lrange: 返回列表 key 中指定区间内的元素,区间以偏移量 start 和 stop 指定。

16、set集合

  1. sadd key value…: 将一个或多个member元素加入到集合key中,
  2. spop key: 移除并返回列表key的头元素。
  3. smove source destint member:
  4. smembers key:获取指定key下的所有的元素
  5. sinter key key …:求所有集合的交集。

17、sortSet 有序集合。

应用场景:排行榜。

  1. zadd key score value score value …:添加有序集合元素。
  2. zrange key start end: 获取指定返回的元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值