Redis安装及使用浅析_第1页
Redis安装及使用浅析_第2页
Redis安装及使用浅析_第3页
Redis安装及使用浅析_第4页
Redis安装及使用浅析_第5页
已阅读5页,还剩9页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

REDIS安装及使用浅析版本修改人日期V10郭世桥20111223目录一REDIS介绍3二REDIS安装及配置31下载源码,编译安装32修改配置43启动5三REDIS常用的命令6四REDIS在客户端程序中的使用111JAVA客户端JAR包112测试程序113SPRING中的配置12五测试服务器13一REDIS介绍REDIS是一个开源的使用ANSIC语言编写、支持网络、可基于内存亦可持久化的日志型、KEYVALUE数据库,并提供多种语言的API。从2010年3月15日起,REDIS的开发工作由VMWARE主持。二REDIS安装及配置1下载源码,编译安装WGETHTTP/REDISGOOGLECODECOM/FILES/REDISTARGZTARXFREDISTARGZCDREDISMAKE网上说不能MAKEINSTALL,可我这就是可以,奇怪,省去了手动COPYREDIS命令的步骤MAKEINSTALLMAKEINSTALL后显示CDSRCMKDIRP/USR/LOCAL/BINCPPREDISSERVER/USR/LOCAL/BINCPPREDISBENCHMARK/USR/LOCAL/BINCPPREDISCLI/USR/LOCAL/BINCPPREDISCHECKDUMP/USR/LOCAL/BINCPPREDISCHECKAOF/USR/LOCAL/BINMAKELEAVINGDIRECTORY/USR/LOCAL/SRC/REDISSRC2修改配置A修改配置之前,请将REDISCONFCOPY一份到/ETC/目录下DAEMONIZENO改成DAEMONIZEYESB这两个参数LOGLEVELWARNINGLOGFILE/VAR/LOG/REDISLOGC取消注释SYSLOGENABLEDNO这个改成SYSLOGENABLEDYESSYSLOGFACILITYLOCAL0D数据文件目录THEWORKINGDIRECTORYTHEDBWILLBEWRITTENINSIDETHISDIRECTORY,WITHTHEFILENAMESPECIFIEDABOVEUSINGTHEDBFILENAMECONFIGURATIONDIRECTIVEALSOTHEAPPENDONLYFILEWILLBECREATEDINSIDETHISDIRECTORYNOTETHATYOUMUSTSPECIFYADIRECTORYHERE,NOTAFILENAMEDIR/VAR/DB/REDISE内存,连接数设置MAXMEMORYMAXCLIENTSF在MASTER服务中的配置文件修改BIND192168382在SLAVE服务中的配置文件修改PORT6381(服务端口号要分开)BIND192168382SLAVEOF1921683826379(设置MASTER的HOST以及PORT)3启动在正式启动REDIS之前,先创建数据目录MKDIR/VAR/DB/REDIS否则会出现下面的错误MAYCANTCHDIRTO/VAR/DB/REDISNOSUCHFILEORDIRECTORY同时配置内核参数SYSCTLVMOVERCOMMIT_MEMORY否则提示错误WARNINGOVERCOMMIT_MEMORYISSETTOBACKGROUNDSAVEMAYFAILUNDERLOWMEMORYCONDITIONTOFIXTHISISSUEADDVMOVERCOMMIT_MEMORYTO/ETC/SYSCTLCONFANDTHENREBOOTORRUNTHECOMMANDSYSCTLVMOVERCOMMIT_MEMORYFORTHISTOTAKEEFFECT最后,启动ROOTWEB/ETC/INITD/REDISSTARTSTARTINGREDISSERVEROK关闭REDIS的命令启动REDISSERVER/ETC/REDISCONF关闭REDISCLISHUTDOWN关闭某个端口上的REDISREDISCLIPPORTSHUTDOWN三REDIS常用的命令REDIS指令手册中文版连接控制QUIT退出,关闭连接代码实例连接退出TELNETLOCALHOST6379QUITAUTH密码验证举例说明1、首先需要在REDIS的配置文件REDISCONF中REQUIREPASS注释掉的内容,设置需要密码连接,否则AUTH任何密码都通过2、重新启动REDIS3、验证AUTHTESTPASSWORD,TESTPASSWORD是我在配置文件中设置的REQUIREPASSTESTPASSWORD4、REDIS服务器的速度众所周知,因此官方文件中提醒设置比较复杂的密码,防止机器破解TELNETLOCALHOST6379ESCAPECHARACTERISAUTHDSDDSDERRINVALIDPASSWORDKEYSGLOBALERROPERATIONNOTPREMITTEDAUTHDDDDDERRINVALIDPASSWORDAUTHTESTPASSWORDOK管理数据操作EXISTS判断一个键是否存在存在返回1否则返回0举例EXISTSBURCE0SETBRUCE10PAITOUBINGOKSETTEST5PAITOUBINGOKERRUNKNOWNCOMMANDINGEXISTSBRUCE1上面的程序EXISTSBRUCE是否存在,结果是不存在,然后SET一个KEY为BRUCE数据长度为10的数据,如果数据长度操作设置的值,多余的字节会当作REDIS命令来处理DEL删除某个KEY,或是一系列KEYDELKEY1KEY2KEY3KEY4TYPE返回某个KEY元素的数据类型NONE不存在,STRING字符,LIST,SET,ZSET,HASHKEYS返回匹配的KEY列表KEYSFOO查找FOO开头的KEYSRANDOMKEY随机获得已经存在的KEYRENAME更改KEY的名字,如果名字存在则更改失败DBSIZE返回当前数据库的KEY的总数EXPIRE设置某个KEY的过期时间秒,EXPIREBRUCE1000设置BRUCE这个KEY1000秒后系统自动删除TTL查找某个KEY还有多长时间过期,返回时间秒SELECT选择数据库MOVE把KEY从一个数据库转移到另外一个库FLUSHDB清空当前数据库数据FLUSHALL清空所有数据库数据字符串类型的数据操作SET存一个数据到数据库SETKEYNAMEDATALENGTHDATASETBRUCE10PAITOUBING保存KEY为BURCE,字符串长度为10的一个字符串PAITOUBING到数据库GET获取某个KEY的VALUE值GETSETGETSET可以理解成获得的KEY的值然后SET这个值,更加方便的操作SETBRUCE10PAITOUBING,这个时候需要修改BRUCE变成1234567890并获取这个以前的数据PAITOUBING,GETSETBRUCE101234567890MGET一次性获得多个KEY的数据MGETUID1NAMEUID1EMAILUID1CIYSETNXSETNX与SET的区别是SET可以创建与更新KEY的VALUE,而SETNX是如果KEY不存在,则创建KEY与VALUE数据SETEXSETEXSETEXPIRE,貌似我的这个版本没有办法测试MSET一次性设置多个参数的值MSETUID1NAMESHJUTOUID1EMAILSHJUTOGMAILCOMUID1CITY8回车NANCHANG最后一个值需要回车输入,和SET一样,不知为啥。MSETNX如果设置的KEY不存在的话,或是叫做新KEY的话一次性设置多个参数的值MSETUID1NAMESHJUTOUID1EMAILSHJUTOGMAILCOMUID1CITY8回车NANCHANG最后一个值需要回车输入,和SET一样,不知为啥。INCR自增,有点类是MYSQLINCRINCRGLOBALUIDINCRBY自增LENGTH,INCRBYUID5原来的基础5RESULTDECR自减DECRBY自减LENGHTAPPEND一个例子足以说明REDISEXISTSMYKEYINTEGER0REDISAPPENDMYKEY“HELLO“INTEGER6REDISAPPENDMYKEY“WORLD“INTEGER11REDISGETMYKEY“HELLOWORLD“SUBSTR一个例子足以说明一切,LIKEPHPSSTYLEREDISSETS“THISISASTRING“OKREDISSUBSTRS03“THIS“REDISSUBSTRS31“ING“REDISSUBSTRS01“THISISASTRING“REDISSUBSTRS9100000“STRING“LISTS无索引序列,HEAD位置是0,RPUSH追加数据到系列的尾部RPUSHLISTTEST10N1111111122LPUSH追加数据到序列的头部LPUSHLISTTEST10N2222222222LLEN一个序列的长度LLENLISTTESTLRANGE从自定的范围内返回序列的元素LRANGETESTLIST02返回序列TESTLIST前012元素LTRIM修剪某个范围之外的数据LTRIMTESTLIST02保留012元素,其余的删除LINDEX返回某个位置的序列值LINDEXTESTLIST0返回序列TESTLIST位置为零的元素LSET更新某个位置元素的值LSETTESTLIST05N55555LPOPKEYRETURNANDREMOVEATOMICALLYTHEFIRSTELEMENTOFTHELISTATKEYRPOPKEYRETURNANDREMOVEATOMICALLYTHELASTELEMENTOFTHELISTATKEYLREM根据值删除序列元素LREMTESTLIST05N33333删除序列中所有的等于33333的元素,为何不是REMOVEBYKEY不知道何故,可能对删除重复数据有用吧BLPOPKEY1KEY2KEYNTIMEOUTBLOCKINGLPOP131,后续更新BRPOPKEY1KEY2KEYNTIMEOUTBLOCKINGRPOP131RPOPLPUSHSRCKEYDSTKEYRETURNANDREMOVEATOMICALLYTHELASTELEMENTOFTHESOURCELISTSTOREDAT_SRCKEY_ANDPUSHTHESAMEELEMENTTOTHEDESTINATIONLISTSTOREDAT_DSTKEY_SETS有索引无序序列SADD增加元素到SETS序列,如果元素不存在则添加成功1,否则失败0SADDTESTLIST3NONESREM删除SETS序列的某个元素,如果元素不存则失败0,否则成功1SREMTESTLIST3NONESPOP随机删除某个元素SPOPTESTLISTSMOVE把一个SETS序列的某个元素移动到另外一个SETS序列SMOVETESTLISTTEST3NTWO从序列TESTLIST移动元素TWO到TEST中,TESTLIST中将不存在TWO元素SCARD统计某个SETS的序列的元素数量SCARDTESTLISTSISMEMBER产看某个数据是否在序列中,SISMEMBERTESTLIST3NTWOSINTER几个SETS序列的交集SINTERKEY1KEY2KEYNSINTERTESTTESTLIST,牛B呀SINTERSTORE把计算出来的交集记录到一个新的序列SINTERSTOREDSTKEYKEY1KEY2KEYNSINTERSTORERESULTLISTTESTLISTTEST把TESTLISTTEST的交集记录到RESULTLISTSUNION几个SETS序列的并集SUNIONKEY1KEY2KEYNSUNIONTESTTESTLISTSUNIONSTORE把计算出来的并集记录到一个新的序列SUNIONSTOREDSTKEYKEY1KEY2KEYNSUNIONSTORERESULTLISTTESTLISTTEST把TESTLISTTEST的交集记录到RESULTLISTSDIFFKEY1KEY2KEYN,求出某几个序列的并集与某个序列求出差集,请看官方例子KEY1X,A,B,CKEY2CKEY3A,DSDIFFKEY1,KEY2,KEY3X,BSDIFFSTOREDSTKEYKEY1KEY2KEYN,和前面的SINTERSTORESUNIONSTORE差不多,对比SMEMBERSKEY返回某个序列的所有元素SRANDMEMBERKEY随机返回某个序列的元素COMMANDSOPERATINGONSORTEDSETSZSETS,REDISVERSION11ZADDKEYSCOREMEMBERADDTHESPECIFIEDMEMBERTOTHESORTEDSETVALUEATKEYORUPDATETHESCOREIFITALREADYEXISTZREMKEYMEMBERREMOVETHESPECIFIEDMEMBERFROMTHESORTEDSETVALUEATKEYZINCRBYKEYINCREMENTMEMBERIFTHEMEMBERALREADYEXISTSINCREMENTITSSCOREBY_INCREMENT_,OTHERWISEADDTHEMEMBERSETTING_INCREMENT_ASSCOREZRANKKEYMEMBERRETURNTHERANKORINDEXOR_MEMBER_INTHESORTEDSETAT_KEY_,WITHSCORESBEINGORDEREDFROMLOWTOHIGHZREVRANKKEYMEMBERRETURNTHERANKORINDEXOR_MEMBER_INTHESORTEDSETAT_KEY_,WITHSCORESBEINGORDEREDFROMHIGHTOLOWZRANGEKEYSTARTENDRETURNARANGEOFELEMENTSFROMTHESORTEDSETATKEYZREVRANGEKEYSTARTENDRETURNARANGEOFELEMENTSFROMTHESORTEDSETATKEY,EXACTLYLIKEZRANGE,BUTTHESORTEDSETISORDEREDINTRAVERSEDINREVERSEORDER,FROMTHEGREATESTTOTHESMALLESTSCOREZRANGEBYSCOR

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论