redis oracle 转储,redis学习笔记(一)

什么是redis

redis是一个key-value内存数据库,是一个速度非常快的非关系型数据库(non-relational database),它可以存储键(key)与5种不同类型的值(value)之间的映射(mapping),可以将内存中存储的键值对数据持久化到硬盘,使用复制特性来扩展读性能,使用客户端分片来扩展写性能。

redis的特性

redis与我们常见的oracle与mysql等关系型数据库有非常大的区别,redis是一个nosql数据库(非关系型数据库),redis不使用表,数据库不会定义或者强制要求用户对redis存储不同的数据进行关联。redis经常与memcached比较,两者都被用来存储键值映射,彼此的性能相差无几,但是redis能自动以两种不同的方式将数据写入硬盘,并且redis除了能存储普通的字符串键以外,还可以存储其它四种数据结构,而memcached只能存储普通字符串键。下面是几个常见的数据库对比

0065GZmcgy1fkz31hn787j30oi0g7dn6.jpg

redis拥有两种不同形式的持久化方式,它们都可以用小而紧凑的方式将存储到内存的数据写入到硬盘:第一种方式为时间点转储,转储方式可以在满足“指定时间内有指定的数量写操作执行,也可以调用两条转储到到硬盘的命令中的一条来执行;第二种方式为将所有修改了数据库的命令都写入一个只追加文件里,用户可以将数据根据重要程度设置为从不同步或者每秒同步或者每写入一个命令就执行一次。

受限于redis的内存存储设计,一台redis服务器无法处理所有请求,为了扩展redis的读性能,并且提供故障转移支持,redis实现了主从复制特性:执行复制的服务器会连接上主服务器,接收主服务器发送的整个数据库的初始副本,之后主服务器执行写命令,都会发送给所有连接主服务器的从服务器去执行,从而实时去更新从服务器的数据集,所有客户端可以向任意的从服务器发送读请求,避免造成对主服务器的集中访问。

redis的数据结构

redis存储键可以映射5种不同的数据结构类型,这五种数据结构类型为string(字符串),list(列表),set(集合),hash(散列)和zset(有序集合)。有一部分redis命令对于这五种数据类型是通用的,如del,type,rename等。有些命令只针对于一种或者两种数据类型使用。下面是redis的数据结构:

0065GZmcgy1fkz58xi4yxj30oz0bu43q.jpg

redis中的字符串

字符串常见命令

4bb1c518c2ca0b6ec8d87ae28f2cb205.png

windows 安装redis:

windows-redis

安装msi版本可以自动将服务设置为系统服务,如果将redis路径加到系统环境变量中,则可以方便的在命令行里启动客户端

命令实例:

0065GZmcgy1fkzzz1n7vej30d705qq3f.jpg

客户端是redis-cli 命令行交互式,set命令为一个键设置一个值 返回OK,get命令查看一个键对应的值,del命令删除一个键对应的值。

redis中的列表

一个列表结构和可以有序的存储多个字符串。redis列表的操作和许多编程语言类似,LPUSH命令和RPUSH 命令分别用于将元素推入列表的左端和右端。LPOP和RPOP分别用于从列表对的左边和右边将元素弹出,LINDEX用于获取指定位置的元素,LRANGE用于获取指定范围内的所有元素。

命令对应的功能如下:

0065GZmcgy1fl5uylrp4gj30o405hjt4.jpg

操作实例:

0065GZmcgy1fl5vc2gpznj30dq0c80uc.jpg

redis的集合

redis的集合和列表都可以存储多个字符串,他们之间的不同在于,列表可以存储多个相同的字符串,而集合则通过散列表来保证每个自己存储的字符串都是不同的。redis集合使用无序的方式来存储元素,所以元素不能像列表那样将从一端推入,也不能从一端弹出,用户可以使用SADD命令将元素添加到集合中,使用SREM命令将元素从集合中移除。

0065GZmcgy1fl5vrotqchj30oq05dwg6.jpg

操作实例:

0065GZmcgy1fl5vvsdyctj30fd09ct94.jpg

redis的散列

redis散列可以存储多个键值对之间的映射

命令操作如下:

0065GZmcgy1fl5wanvhlcj30oe065wfz.jpg

操作实例:

9ef6df631b9c4b5a1e81b4397a5c33ff.png

redis的有序集合

有序集合和散列一样都用于存储键值对:有序集合的键被称为成员,每个成员都是各不相同的,而有序集合的值则被称为分值,分值必须为浮点数。有序集合时redis中唯一一个既可以根据成员访问元素,又可以根据分值以及分值的排列顺序来访问元素的结构。

命令操作如下:

20d74a7383c46823ed2b8bcc21476e68.png

操作实例:

854dc542021eb2b698b5777b2f1fa3b8.png

华裳绕指柔, 版权所有丨如未注明 , 均为原创|转载请注明redis学习笔记(一)!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值