Redis和MySQL的区别与使用
1.区别
Redis基于内存,读写速度快,也可做持久化,但是内存空间有限,当数据量超过内存空间时,需扩充内存,但内存价格贵。
MySQL基于磁盘,读写速度没有Redis快,但是不受空间容量限制,性价比高
2.Redis缓存到MySQL
Redis其实就是说把表中经常访问的记录放在了Redis中,然后用户查询时先去查询Redis再去查询MySQL,确实实现了读写分离,也就是Redis只做读操作。
由于缓存在内存中,所以查询会很快。对于一个sql语句格式的数据请求,首先计算该语句的MD5并据此得到结果集标识符,然后利用该标识符在Redis中查找该结果集。
注意,结果集中的每一行都有一个相应的键,这些键都存储在一个Redis集合结构中。
如果Redis中不存在这样一个集合,说明要找的结果集不在Redis中,所以需要执行相应的sql语句,在Mysql中查询到相应的结果集,然后按照上面所说的办法把结果集中的每一行以字符串或哈希的形式存入Redis。
3.Redis同步MySQL数据
redis其读取速度快,但是redis 怎么和数据库同步呢,怎么能把数据库的所有数据存到redis里面,能使用户更快速的查找。
4.常用命令
查询:keys * 查询所有的键,会遍历所有的键值,复杂度O(n)
键总数:dbsize 查询键总数,直接获取redis内置的键总数变量
检查键是否存在:exists key 存在返回1,不存在返回0
删除:del key [key...] 返回结果为成功删除键的个数
5.Redis客户端安装
项目地址: https://github.com/uglide/RedisDesktopManager
命令行输入:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null ; brew install caskroom/cask/brew-cask 2> /dev/null
brew cask install rdm