redis笔记总结之redis介绍
一、Redis介绍:
redis的发展历史简单的理解为因为使用类似MySql这类关系型数据库不方便进而开发的开源的、轻量级的、非关系型的,直到现在一直不断完善的一款NoSql数据库。具体的介绍大家可以上网搜一下,这里就不做介绍了。
1、特性:
1.1存储结构
redis以字典结构存储数据,通俗的讲是以key=value(键值对)的形式存储的,并允许其他应用通过TCP协议读取字典中的内容。
目前redis支持的数据类型有:字符串类型(string);散列类型(hash);列表类型(list);集合类型(set);有序集合类型(zset)。
这种存储结构的优势:
在关系型数据库中,不同的数据需要放在不同的表中,有特定需要的话需要进行多表连查。而对于redis这样以键值的形式存储的数据而言,可以对键进行差集、交集、并集的操作,方便很多。
1.2内存存储与持久化
redis数据库中所有的数据都存在内存中。由于内存的读写速度远快于硬盘,因此,redis在性能上远超于那些读取到磁盘上的数据库,在一台普通的笔记本电脑上,redis可以在一秒内读写超过十万个键值。
将数据存储到内存中也是有隐患的,例如程序突然退出后内存中的数据就没了。不过,redis提供了持久化的支持,通过RDB方式或者AOF方式将内存数据持久化到磁盘上,两种方式后面总结。
1.3功能丰富
redis虽然是作数据库开发的,但是很多用做缓存和队列使用的。
redis中可以设置键的生存时间,生存时间到期后就会自动删除。这一功能可以作为缓存来使用。redis是单线程模式,而memcached支持多线程,在多核服务器上memcached性能更高。作为缓存系统,redis还可以限定数据占用的空间大小,超出空间限制后按照一定的规则删除不必要的键。
除此之外,redis的列表类型键可以用来实现队列,可以支持阻塞式读取,可以很容易实现一个高性能的优先级队列。更高层次上,redis还支持“订阅/发布”的消息模式,可以基于此来构建聊天室等系统。
1.4简单稳定
再强大的功能使用起来很复杂同样不会很吸引人,然而redis使用起来也相当的方便简单。
例如:在常规的关系型数据库中想要获取user表的usercode为3的username字段数据时使用SQL语句:select username from user where usercode = 3;
然而在redis中是以键值对的形式存储的,我们只需要按键取值即可:HGET user:3 username
注:此笔记仅根据本人理解所写,如有错误之处,还请留言指正,谢谢。
redis笔记总结之redis介绍的更多相关文章
- redis笔记总结之redis数据类型及常用命令
三.常用命令 3.1 字符串类型(string) 字符串类型是Redis中最基本的数据类型,一个字符串类型的键允许存储的数据的最大容量为512MB. 3.1.1 赋值与取值: SET key valu ...
- redis笔记总结之redis安装
二.Redis安装 2.1 Redis下载 官网地址:http://redis.io/ 下载地址:http://download.redis.io/releases/redis-3.0.0.tar.g ...
- python学习笔记(十一)redis的介绍及安装
一.redis简介 1.redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库. 2.redis的官网地址,非常好记,是redis.io. ...
- 【Redis笔记(四)】 Redis数据结构 - list链表
原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50573605 经过前面的介绍,我们学习了Redis中string字符串.hash ...
- redis笔记补充
redis补充 这篇文章是redis入门笔记的补充. 1.info命令 用来显示服务的信息. info命令可以跟下面的选项: server: 关于 Redis 服务器的一些信息 clients: 客户 ...
- Redis 笔记 01:入门篇
Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
- 17.Python笔记之memcached&redis
作者:刘耀 博客:www.liuyao.me 博客园:www.cnblogs.com/liu-yao 一.Memcached 1.介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动 ...
- Redis 笔记与总结6 Redis 高级应用之 事务处理、持久化操作、pub_sub、虚拟内存
3.事务处理 redis 对事务的支持目前还比较简单. redis 只能保证一个 client 发起的事务中的命令可以连续的执行,而中间不会插入其他 client 的命令. 由于 redis 是单线 ...
- Redis 学习笔记4: Redis 3.2.1 集群搭建
在CenOS 6.7 linux环境下搭建Redis 集群环境 1.下载最新的Redis版本 本人下载的Redis版本是3.2.1版本,下载之后,解压,编译(make): 具体操作可以参考我的博文:R ...
随机推荐
- CodeForces-747A
从sqrt(n)枚举到1,一旦满足一定是差最小的数. AC代码: #include<cstdio> #include<cmath> int main(){ int n; whi ...
- Linux sftp 安全文件传输命令
sftp 是一个交互式文件传输程式.它类似于 ftp, 但它进行加密传输,比FTP有更高的安全性. 1.常用登陆方式: 格式:sftp <user>@<host> 通过sftp ...
- nginx的环境配置的问题
在安装好nginx之后,运行nginx,报错: nginx dyld: Library not loaded: /usr/local/lib/libpcre.1.dylib Referenced fr ...
- Redis笔记1-redis的搭建和使用
1. Redis的安装 1.1. Redis的安装 Redis是c语言开发的. 安装redis需要c语言的编译环境.如果没有gcc需要在线安装.yum install gcc-c++ 安装步骤: ...
- mysql用户授权及数据备份恢复
用户授权与权限撤销 修改数据库管理员从本机登陆的密码测试: mysqladmin -hlocalhost -uroot -p password "新密码" Enter passwo ...
- java Socket实现简单在线聊天(二)
接<java Socket实现简单在线聊天(一)>,在单客户端连接的基础上,这里第二步需要实现多客户端的连接,也就需要使用到线程.每当有一个新的客户端连接上来,服务端便需要新启动一个线程进 ...
- Conditional Random Fields (CRF) 初理解
1,Conditional Random Fields
- freemarker写select组件报错总结(六)
1.错误描述 六月 26, 2014 10:53:26 下午 freemarker.log.JDK14LoggerFactory$JDK14Logger error 严重: Template proc ...
- JavaScript获取select下拉框中的第一个值
JavaScript获取select下拉框中的第一个值 1.说明 获取select下拉框中的第一个值 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD ...
- HTML5之contenteditable属性
HTML5之contenteditable属性 1.功能说明 (1)功能:允许用户编辑元素中的内容 (2)说明:是一个布尔值,false是不能编辑,true为可编辑 2.分析实例 (1)content ...