Below you will find pages that utilize the taxonomy term “Redis”
January 15, 2020
开发者必知redis知识点
"\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e剖析Redis常用数据类型对应的数据结构 \u003ca href=\"https://time.geekbang.org/column/article/79159\"\u003ehttps://time.geekbang.org/column/article/79159\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eredis中的COW(Copy-On-Write) \u003ca href=\"https://www.jianshu.com/p/b2fb2ee5e3a0\"\u003ehttps://www.jianshu.com/p/b2fb2ee5e3a0\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eredis常用有哪些数据类型及每种数据类型的使用场景有哪些 \u003ca href=\"https://www.cnblogs.com/tqlin/p/10478459.html\"\u003ehttps://www.cnblogs.com/tqlin/p/10478459.html\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e如果存储一个JSON数据时,选择hash还是string 存储数据? \u003ca href=\"https://segmentfault.com/a/1190000019552836\"\u003ehttps://segmentfault.com/a/1190000019552836\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eredis与memcache的区别 \u003ca href=\"https://www.cnblogs.com/JavaBlackHole/p/7726195.html\"\u003ehttps://www.cnblogs.com/JavaBlackHole/p/7726195.html\u003c/a\u003e \u003ca href=\"https://blog.csdn.net/qq_34126805/article/details/81748107\"\u003ehttps://blog.csdn.net/qq_34126805/article/details/81748107\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eredis支持多CPU吗?如何发挥多cpu? …\u003c/p\u003e\u003c/li\u003e\u003c/ul\u003e"
August 31, 2019
Redis 选择hash还是string 存储数据?
"\u003cp\u003e在Redis中存储数据时,经常使用string和hash这两种类型,至于这两者有什么不同,底层实现有何区别,推荐参考: \u003ca href=\"https://segmentfault.com/a/1190000019552836\"\u003ehttps://segmentfault.com/a/1190000019552836\u003c/a\u003e\u003c/p\u003e"
August 3, 2018
redis list数据类型 不同编码ziplist 和 linkedlist的区别
"\u003cp\u003e\u003ca href=\"https://my.oschina.net/justfairytale/blog/393830\"\u003ehttps://my.oschina.net/justfairytale/blog/393830\u003c/a\u003e\u003c/p\u003e"
August 1, 2018
Redis单线程架构
"\u003ch3 id=\"1-单线程模型\"\u003e1 单线程模型\u003c/h3\u003e\n\u003cp\u003eRedis客户端对服务端的每次调用都经历了发送命令,执行命令,返回结果三个过程。其中执行命令阶段,由于Redis是单线程来处理命令的,所有每一条到达服务端的命令不会立刻执行,所有的命令都会进入一个队列中,然后逐个被执行。并且多个客户端发送的命令的执行顺序是不确定的。但是可以确定的是不会有两条命令被同时执行,不会产生并发问题,这就是Redis的单线程基本模型。\u003c/p\u003e\n\u003ch3 id=\"2-单线程模型每秒万级别处理能力的原因\"\u003e2 单线程模型每秒万级别处理能力的原因\u003c/h3\u003e\n\u003cp\u003e(1)纯内存访问。数据存放在内存中,内存的响应时间大约是100纳秒,这是Redis每秒万亿级别访问的重要基础。\u003c/p\u003e\n\u003cp\u003e(2)非阻塞I/O,Redis采用epoll做为I/O多路复用技术的实现,再加上Redis自身的事件处理模型将epoll中的连接,读写,关闭都转换为了时间,不在I/O上浪费过多的时间。\u003c/p\u003e\n\u003cp\u003e(3)单线程避免了线程切换和竞态产生的消耗。\u003c/p\u003e\n\u003cp\u003e(4)Redis采用单线程模型,每条命令执行如果占用大量时间,会造成其他线程阻塞,对于Redis这种高性能服务是致命的,所以Redis是面向高速执行的数据库。\u003c/p\u003e\n\u003cp\u003eredis为什么要设计成单线程: …\u003c/p\u003e"
August 1, 2018
Redis中的锁
"\u003cp\u003e单Redis实例锁: \u003ca href=\"http://www.redis.cn/commands/setnx.html\"\u003ehttp://www.redis.cn/commands/setnx.html\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e分布式锁: \u003ca href=\"http://redis.cn/topics/distlock.html\"\u003ehttp://redis.cn/topics/distlock.html\u003c/a\u003e(提供各种开发语言提供的库)\u003c/p\u003e"
August 8, 2013
Redis配置文件参数说明
"\u003cp\u003e\u003cstrong\u003e配置文件参数说明\u003c/strong\u003e:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eRedis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003edaemonize no\u003c/strong\u003e\u003c/p\u003e\n\u003col start=\"2\"\u003e\n\u003cli\u003e当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003epidfile /var/run/redis.pid\u003c/strong\u003e\u003c/p\u003e\n\u003col start=\"3\"\u003e\n\u003cli\u003e指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e** port 6379**\u003c/p\u003e\n\u003col start=\"4\"\u003e\n\u003cli\u003e绑定的主机地址\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003ebind 127.0.0.1\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e5.当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003etimeout 300\u003c/strong\u003e\u003c/p\u003e\n\u003col start=\"6\"\u003e\n\u003cli\u003e指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003e\u003cstrong\u003eloglevel verbose\u003c/strong\u003e\u003c/p\u003e\n\u003col start=\"7\"\u003e\n\u003cli\u003e日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送 …\u003c/li\u003e\u003c/ol\u003e"
December 15, 2011
新浪微博开放平台Redis实践(PPT+视频)
"\u003cp\u003e新浪微博对Redis的大量应用已经是业界闻名,说是全球最大的使用者可能也没什么问题。下面PPT的作者是新浪微博负责Redis使用工程师唐福林同学。为大家解答了微博为何要使用Redis,又是如何使用Redis的。\u003c/p\u003e\n\u003cp\u003eppt文档pdf版见:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003e\u003ca href=\"http://www.slideshare.net/mysqlops/redis-9806617\" title=\"新浪微博开放平台Redis实战\"\u003e新浪微博开放平台Redis实战\u003c/a\u003e\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eView more \u003ca href=\"http://www.slideshare.net/\"\u003epresentations\u003c/a\u003e from \u003ca href=\"http://www.slideshare.net/mysqlops\"\u003emysqlops\u003c/a\u003e\u003c/p\u003e"
September 27, 2011
Redis系统性介绍
"\u003cp\u003e虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍。是一个很不错的Redis入门教程。\u003c/p\u003e\n\u003ch3 id=\"1介绍\"\u003e1.介绍\u003c/h3\u003e\n\u003ch4 id=\"11-redis是什么\"\u003e1.1 Redis是什么\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eRE\u003c/strong\u003emote \u003cstrong\u003eDI\u003c/strong\u003ectionary \u003cstrong\u003eS\u003c/strong\u003eerver(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis提供了一些丰富的数据结构,包括 lists, sets, ordered sets 以及 hashes ,当然还有和Memcached一样的 strings结构.Redis当然还包括了对这些数据结构的丰富操作。\u003c/p\u003e\n\u003ch4 id=\"12-redis的优点\"\u003e1.2 Redis的优点\u003c/h4\u003e\n\u003cul\u003e\n\u003cli\u003e性能极高 – Redis能支持超过 100K+ 每秒的读写频率。\u003c/li\u003e\n\u003cli\u003e丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。\u003c/li\u003e\n\u003cli\u003e原子 – Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。\u003c/li\u003e\n\u003cli\u003e丰富的特性 – Redis …\u003c/li\u003e\u003c/ul\u003e"
July 12, 2011
[教程]为PHP安装phpRedis扩展模块
"\u003cp\u003e\u003cstrong\u003e一.安装phpredis\u003c/strong\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e# wget \u003ca href=\"https://download.github.com/owlient-phpredis-2.1.1-1-g90ecd17.tar.gz\"\u003ehttps://download.github.com/owlient-phpredis-2.1.1-1-g90ecd17.tar.gz\u003c/a\u003e\n# tar -zxvf owlient-phpredis-2.1.1-1-g90ecd17.tar.gz\n# cd owlient-phpredis-2.1.1-1-g90ecd17\n# /usr/local/php/bin/phpize\n# ./configure –with-php-config=/usr/local/php/bin/php-config\n# make \u0026amp;\u0026amp; make install\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e修改php.ini文件,应用扩展\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e# /usr/local/php/etc/php.ini\n加入:\nextension=redis.so\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e重启httpd\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e# service httpd -k restart\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e我这里使用的是php-fpm模块运行的Nginx\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e/usr/local/php/sbin/php-fpm restart\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e通过phpinfo()函数查看,可以看到redis扩展\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"http://blog.haohtml.com/wp-content/uploads/2011/07/phpredis.jpg\"\u003e\u003cimg src=\"http://blog.haohtml.com/wp-content/uploads/2011/07/phpredis.jpg\" alt=\"\"\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e如 …\u003c/p\u003e"
June 30, 2011
redis入门教程
"\u003cp\u003ewindow平台下的redis dll文件下载: \u003ca href=\"https://github.com/char101/phpredis/downloads\"\u003ehttps://github.com/char101/phpredis/downloads\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eRedis 根据 5 种不同的数据类型来操作数据对象:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eString(字符串)\nSets(集合)\nzsets( 排序后的sets集合)\nList(列表)\nhash(哈稀)\u003c/p\u003e\u003c/blockquote\u003e\n\u003ch2 id=\"操作-string-类型的值\"\u003e操作 String 类型的值:\u003c/h2\u003e\n\u003cp\u003eCommand\u003c/p\u003e\n\u003cp\u003eParameters\u003c/p\u003e\n\u003cp\u003eDescription\u003c/p\u003e\n\u003cp\u003eSET\u003c/p\u003e\n\u003cp\u003ekey value\u003c/p\u003e\n\u003cp\u003eSet a key to a string value\u003c/p\u003e\n\u003cp\u003eGET\u003c/p\u003e\n\u003cp\u003ekey\u003c/p\u003e\n\u003cp\u003eReturn the string value of the key\u003c/p\u003e\n\u003cp\u003eGETSET\u003c/p\u003e\n\u003cp\u003ekey value\u003c/p\u003e\n\u003cp\u003eSet a key to a string returning the old value of the key\u003c/p\u003e\n\u003cp\u003eMGET\u003c/p\u003e\n\u003cp\u003ekey1 key2 … keyN\u003c/p\u003e\n\u003cp\u003eMulti-get, return the strings values of the keys\u003c/p\u003e\n\u003cp\u003eSETNX\u003c/p\u003e\n\u003cp\u003ekey\u003c/p\u003e\n\u003cp\u003evalue Set a key to a string value if the key does not …\u003c/p\u003e"
June 15, 2011
Redis在Windows,linux平台下的安装配置
"\u003cp\u003e为了方便查阅资料,特将网上搜索到的Redis相关安装配置进行归档整理:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ewindow平台Redis安装\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003e下载地址: \u003ca href=\"http://code.google.com/p/servicestack/wiki/RedisWindowsDownload\"\u003ehttp://code.google.com/p/servicestack/wiki/RedisWindowsDownload\u003c/a\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003eRedis文件夹有以下几个文件\u003c/p\u003e\u003c/blockquote\u003e\n\u003cblockquote\u003e\n\u003cp\u003eredis-server.exe:服务程序\u003c/p\u003e\n\u003cp\u003eredis-check-dump.exe:本地数据库检查\u003c/p\u003e\n\u003cp\u003eredis-check-aof.exe:更新日志检查\u003c/p\u003e\n\u003cp\u003eredis-benchmark.exe:性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询 (类似于 Apache 的ab 工具).\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e指定redis的配置文件,如没有指定,则使用默认设置\u003c/p\u003e\n\u003cp\u003e解压目录:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ed:\u0026gt;redis-server.exe\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003eredis-cli.exe:命令行客户端,测试用.windows下没有redis.conf配置文件.\u003c/p\u003e\n\u003cp\u003e解压目录:\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003ed:\u0026gt;redis-cli.exe -h 127.0.0.1 -p 6379\u003c/p\u003e\u003c/blockquote\u003e\n\u003cp\u003e使用方法有两种:一种是直接使用redis-cli.exe 后面加操作,另一种是直接输 …\u003c/p\u003e"
March 29, 2011
Redis几个认识误区
"\u003cp\u003e此文的作者是新浪微博平台架构师杨卫华(\u003ca href=\"http://t.sina.com.cn/timyang\"\u003etimyang\u003c/a\u003e)大师,如果关注了新浪一些牛人微博的同学应该知道,timyang前段时间正在对Redis进行一些研究和测试,也分享出了不少成果。下面一篇文章相信是timyang这段时间对Redis研究的一个总结,澄清了一些认识上的误区,值得一读。\u003c/p\u003e\n\u003cp\u003e原文链接:\u003c/p\u003e\n\u003cp\u003e前几天微博发生了一起大的\u003ca href=\"http://tech.sina.com.cn/i/2010-12-01/15324930344.shtml\"\u003e系统故障\u003c/a\u003e,很多技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Service(1)概括的那几个范围,James第一条经验“Design for failure”是所有互联网架构成功的一个关键。互联网系统的工程理论其实非常简单,James paper中内容几乎称不上理论,而是多条实践经验分享,每个公司对这些经验的理解及执行力决定了架构成败。\u003c/p\u003e\n\u003cp\u003e题外话说完,最近又研究了\u003ca href=\"http://code.google.com/p/redis/\"\u003eRedis\u003c/a\u003e。去年曾做过一个\u003ca href=\"http://timyang.net/data/mcdb-tt-redis/\"\u003eMemcacheDB, Tokyo Tyrant, Redis performance test\u003c/a\u003e,到目前为止,这个benchmark结果依然有效。这1年我们经历了很多眼花缭乱的key …\u003c/p\u003e"