redis 作为缓存总结

redis缓存服务器笔记
redis是一个高性能的key-value存储系统,能够作为缓存框架和队列
但是由于他是一个内存内存系统,这些数据还是要存储到数据库中的

作为缓存框架:
create/updae/delete—同时存到redis和数据库
query–先从redis查,没有记录才从数据库查,并把从数据库查的结果也放一份到redis
作为缓存队列:
2、把对象Object存储到redis中,怎么存?memcache存取对象是序列化和反序列化
使用通用的序列化、反序列化(频繁的会很消耗cpu,使用Google Protocol Buffer,将对象打成二
进制流)
或者使用json存储(阿里巴巴的fast-json)
3、java使用redis的客户端一般是:jedis
jedis的原生接口只支持基本数据类型和String、byte[]
4、我对redis队列的理解:
重要的数据:先存到数据库,然后存到redis
要求响应速度很高的的数据:先写缓存,然后通过消息队列再写入数据库
因为Redis的value支持String、list、set、zset
那么就可以把redis的list当作队列来用
入队:lpush mylist ‘hello1’
出队:lpop mylist

5、其提供AOF(追加式操作记录文件)和DUMP(定期数据备份)两种持久化方式

6、VM(虚拟内存机制):如果有1万条数据保存到内存中,那么我就要配置能存储这么多数据的内存
然后这1万条数据有9000条不是活跃数据,那就白白浪费了,可以这样做,当数据容量超过内存时,
将部分value存储到文件中
memcached是把数据完全存储到内存中,而redis是大部分的,因为他支持自定义的VM
同时Redis支持主从复制机制

转载自:http://doushini.iteye.com/blog/1879616

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis缓存数据的过程通常包括以下几个步骤:首先,当需要读取数据时,可以通过使用get或hget等方法从Redis缓存中获取数据。如果缓存存在,就直接返回数据。如果缓存不存在,就需要从数据库中查询数据。查询到数据后,还需要将数据更新到Redis中,可以使用set或hset等方法进行调用。这样就完成了将数据缓存Redis的过程。\[1\] 总结一下,Redis作为缓存的特点是响应速度快,避免了每次都从磁盘获取数据。但是由于Redis的空间容量相对较小,无法将所有数据都放入缓存中,因此通常需要与磁盘上的数据库(如MySQL)配合使用。\[2\] 在使用Redis作为缓存时,通常的法是将业务数据存储在数据库中(如MySQL),当客户端需要访问数据时,首先从Redis中获取缓存。这时有两种情况:如果数据在缓存中存在,即缓存命中,直接返回缓存结果;如果数据不在缓存中,即缓存未命中,就需要从数据库中读取数据,这会导致响应速度变慢。同时,读取到的数据也需要再次写入Redis中,以避免后续读取数据时再次访问数据库。\[3\] #### 引用[.reference_title] - *1* *2* *3* [Redis是如何缓存的](https://blog.csdn.net/Huangjiazhen711/article/details/127610090)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值