redis 学习笔记(一)

redis 学习笔记(一)

有过脚本语言编程经验的读者对字典(或称映射、关联数组)数据结构一定很熟悉,如代
码dict[“key”]="value"中dict是一个字典结构变量,字符串"key"是键名,而"value"是键值,在字
典中我们可以获取或设置键名对应的键值,也可以删除一个键。
Redis是REmote DIctionary Server(远程字典服务器)的缩写,它以字典结构存储数据,并允
许其他应用通过TCP协议读写字典中的内容。同大多数脚本语言中的字典一样,Redis字典中
的键值除了可以是字符串,还可以是其他数据类型。到目前为止Redis支持的键值数据类型如

  • 字符串类型
  • 散列类型
  • 列表类型
  • 集合类型
  • 有序集合类型

内存存储与持久化

Redis数据库中的所有数据都存储在内存中。由于内存的读写速度远快于硬盘,因此Redis
在性能上对比其他基于硬盘存储的数据库有非常明显的优势,在一台普通的笔记本电脑
上,Redis可以在一秒内读写超过十万个键值。
将数据存储在内存中也有问题,例如,程序退出后内存中的数据会丢失。不过 Redis提供
了对持久化的支持,即将可以内存中的数据异步写入到硬盘中,同时不影响继续提供服务。

功能丰富

Redis虽然是作为数据库开发的,但由于其提供了丰富的功能,越来越多的人将其用作缓
存、队列系统等。Redis可谓是名副其实的多面手。
Redis可以为每个键设置生存时间(Time To Live,TTL),生存时间到期后键会自动被删
除。这一功能配合出色的性能让Redis可以作为缓存系统来使用,而且由于Redis支持持久化和
丰富的数据类型,使其成为了另一个非常流行的缓存系统Memcached的有力竞争者。
讨论 关于Redis和Memcached优劣的讨论一直是一个热门的话题。在性能上Redis是
单线程模型,而Memcached支持多线程,所以在多核服务器上后者的性能更高一些。然
而,前面已经介绍过,Redis的性能已经足够优异,在绝大部分场合下其性能都不会成为瓶
颈。所以在使用时更应该关心的是二者在功能上的区别,如果需要用到高级的数据类型
或是持久化等功能,Redis将会是Memcached很好的替代品。
作为缓存系统,Redis还可以限定数据占用的最大内存空间,在数据达到空间限制后可以
按照一定的规则自动淘汰不需要的键。
除此之外,Redis的列表类型键可以用来实现队列,并且支持阻塞式读取,可以很容易地
实现一个高性能的优先级队列。同时在更高层面上,Redis还支持“发布/订阅”的消息模式,可
以基于此构建聊天室等系统。

redis入门教程

参考书籍:Redis 入门指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值