Redis之品鉴之旅(一)】的更多相关文章

Redis之品鉴之旅(一) 好知识就如好酒,需要我们坐下来,静静的慢慢的去品鉴.Redis作为主流nosql数据库,在提升性能的方面是不可或缺的.下面就拿好小板凳,我们慢慢的来一一品鉴. 1)redis号称是大数据高并发的利器,那么到底什么是redis? redis是nosql(not only sql,不仅仅是sql语句),它提供了各种操作的api,不像我们的关系型数据库使用sql语句来操作数据库. redis全称Remote Dictionary Server(远程字典服务),首先是一个字典…
分布式锁 1)阻塞锁: 尝试在redis中创建一个字符串结构缓存,方法传入的key,value为锁的过期时间timeout的时间戳. 若redis中没有这个key,则创建成功(即抢到锁),然后立即返回. 若已经有这个key,则先watch,然后校验value中的时间戳是否已经超过当前时间. 若已超过,则尝试使用提交事务的方式覆盖新的时间戳,事务提交成功(即抢到锁),然后立即返回: 若未超过当前时间或事务提交失败(即被别人抢到锁), 如果没有抢到锁,则进入 一个内部优化过的微循环,不断重试. //…
持久化 快照的方式(RDB) 文件追加方式(AOF) 快照形式: save和bgsave能快速的备份数据.但是.........., Save命令:将内存数据镜像保存为rdb文件,由于redis是单线程模型,期间会阻塞redis服务进程,redis服务不再处理任何指令,直到rdb文件创建完成为止. Bgsave命令:父进程启动一个子进程,由子进程将内存保存在硬盘文件,期间不会影响其他的指令操作. redis 后台保存数据文件的线程只会有一个. 这里先做标题,后续补充内容…
Redis事务 原子性:就是最小的单位 一致性:好多命令,要么全部执行成功,要么全部执行失败 隔离性:一个会话和另一个会话之间是互相隔离的 持久性:执行了就执行了,数据保存在硬盘上 典型例子:银行转账,A给B转账100万,首先要A的账户减去100万,然后B的账户增加100万,如果中间断了那就出问题了.所以我们人为的将这件事进行原子化,做成一个最小单位.要么一起成功要么一起失败. redis是一种简单的数据存储形式,redis的事务是不支持回滚的. 之前的sqlserver的事务,开了一个事务,去…
2)hash类型,上代码 using (RedisClient client = new RedisClient("127.0.0.1", 6379, "12345", 10)) { //删除当前数据库中的所有Key 默认删除的是db0 client.FlushDb(); //删除所有数据库中的key //client.FlushAll(); //大key string hashid = "pengbo"; #region 向hashid集合中添…
发布订阅,简单场景下的发布订阅完全可以使用. 可以简单的理解,将一个公众号视为发布者,关注公众号的人视作订阅者,公众号发布一条文章或者消息,凡事订阅公众号的都可以收到消息.一个人可以订阅多个公众号,一个公众号可以被多个人订阅. //创建一个公众号--创建一个主题 Console.WriteLine("发布服务"); IRedisClientsManager redisClientManager = new PooledRedisClientManager("127.0.0.1…
3)Set,可以去重的.无序的集合.可以取交集.并集.zset(sorted set),有序的.去重的集合,排序不是根据value排序,而是根据score排序. using (RedisClient client = new RedisClient("127.0.0.1", 6379, "12345", 10)) { //删除当前数据库中的所有Key 默认删除的是db0 client.FlushDb(); //删除所有数据库中的key //client.FlushA…
今天我们接着说上次还没完成session共享的部分,还没看过上一篇的朋友可以先看下上次内容,http://www.cnblogs.com/zhrxidian/p/5432886.html. 1.redis简介及下载安装 作为这次的主角,相信大家对redis应该都一定印象,redis是一款开源的高性能key-value数据库,拥有丰富的键值储存类型,并提供多种语言的API. 与一般数据库不同,redis是使用内存作为主存,而使用硬盘来实现数据持久化,而且redis是周期性的将数据写到硬盘上.这就意…
1.redis简介及下载安装 作为这次的主角,相信大家对redis应该都一定印象,redis是一款开源的高性能key-value数据库,拥有丰富的键值储存类型,并提供多种语言的API. 与一般数据库不同,redis是使用内存作为主存,而使用硬盘来实现数据持久化,而且redis是周期性的将数据写到硬盘上.这就意味着一旦我们服务器出现断电.重启之类的情况,我们很可能会出现数据丢失的情况,所以不建议使用redis来存放关键的数据.当然,也正因为redis读写数据都使用内存,所以它的速度是非常快的,很适…
今天主要说说,nginx如何配置tomcat集群,首先我们先介绍一下各个软件: 一: 1.Nginx介绍: 下载地址:http://nginx.org/en/download.html nginx这个轻量级,高性能的web server:那么nginx可以做两件事:第一件事:直接做为web server ,一般用作静态服务器.代替apache 第二事情:作为反向代理服务器,实现负载均衡.这就是我们这次要说的. 2.环境: 本地是windows系统.nginx仅仅处理静态页面,动态的页面 通通给j…