Redis安装与使用惠买集团maqunhuaRedis官方logo分享内容maqunhuaRedis的介绍 安装和使用Redis官方logomaqunhuaRedis介绍Redis介绍一、介绍: redis(RemoteDictionaryServer)是一种Nosql技术,它是一个开源的高级kv存储和数据结构存储系统, 它经常被拿来和Memcached相比较,但是Memcached不提供持久化的数据保存机制而redis可以将数据保存在磁盘中,red is不仅仅是能够存储key和value这种简单的键值对,还能存储例如集合、hash表、列表、字典等。redis在整个运行过程中,数 据统统都是存储在内存中的,因此,性能是相当高的,由于此特性,redis对于内存的要求比较高,它会周期性的将内存中的数据写入在磁盘中 ,从而实现数据持久化的访问能力,但是这种存储只是保证redis在下次启动还有数据可以读取,而不是提供访问。redis是单线程服务的 ,只有一个线程。redis还支持主从模式以及支持通过lua脚本去编写扩展,并且支持高可用和分布式集群解决方案Guanping.L iRedis特点二、特点:1、运行在内存2、持久化3、主从(借助于sentinel实现一定意义上的HA)4、Clu stering(分布式存储)5、数据机构服务器:支持存储string、list、hash、set、SortedSet,maq unhuaRedis特点数据库存储系统分类常见的数据库系统有以下几类:1、RDBMS:Oracle、DB2、Mysql、 SQLServer2、NoSQL:MongoDB、Redis、HBase、MemcachedNoSQL又分为以下几类:1 、Key-ValueNoSql:Memcached、Redis2、ColumnfamilyNoSQL:Cassandra、 HBase3、DocumentationNoSQL:MongoDB4、GraphNoSQL:Neo4jmaqunhua 常见的数据库系统有以下几类:Redis的组件Redis的组件:1、redis-server2、redis-cli3、 redis-benchmark(压测工具)4、redis-check-dump&&redis-check-aof能够去检测 文件是否损坏两种格式RDB/AOF格式maqunhuaRedis的组件:redis的安装安装需求: gccg++gcc-c++maketclredis-3.2.8.tar.gz maqunhua安装:redis的安装安装:tar-xvzfredi s-3.2.8.tar.gzcdredis-3.2.8mak emaqunhua安装:redis的安装创建安装目录mkdir-p/usr/local/redis安装 makePREFIX=/usr/local/redisinstallcp/tmp/redis-3.2.8/redis.co nf/usr/local/redis/maqunhua安装:redis的安装启动:Server:./bin/re dis-server./redis.conf修改配置文件redis.confdaemonizeyesClient ./bin/redis-cli关闭:./bin/redis-clishutdownmaqunhua安装 :redis的操作命令全局操作:#查看所有keykeys或keys""#查看匹配前缀的keyskey s"miao"#清空redisflushdb#随机取出一个keyrandomkey#查看key的类型 typekeymaqunhua命令:redis的操作命令全局操作:#查看数据库中key的数量dbsize #查看服务器信息info#查看redis正在做什么monitor#切换数据库Selectnumbermaqu nhua命令:redis的数据类型 String(字符串) Hash(哈希) List(列表) Set(集合) Sortset(有序集合)maqunhua数 据类型:redis的数据类型Redis默认使用类型是字符串语法:set[key][v alue]实例:SetrediskeyredisGetrediskeym aqunhuaRedis字符串String:redis的数据类型Redishash是一个键值对集合.Redishas h是一个string类型的field和value的映射表,hash特别适合用于存储对象.语法: HSETkey fieldvalue:key是对象名,field是属性,value是值; HMSETkeyfieldvalue [fieldvalue...]:同时设置多个属性 HGETkeyfield:获取该对象的该属性 HMGET keyfieldvalue[fieldvalue...]:获取多个属性值 HGETALLkey:获取对象的所有信 息 HKEYSkey:获取对象的所有属性 HVALSkey:获取对象的所有属性值 HDELkeyfiel d:删除对象的该属性DELkey:删除对象实例: HMSETuseru sernameredispassword123456points200maqunhuaRedis哈希(Hash): redis的数据类型Redis列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边 ).语法:rpushkeyListvalue:向keyList添加元素,向后加,r表示右边l pushkeyListvalue:向keyList左边添加元素lrangekeyListbeginInde xendIndex:获取keyList的元素llenkeyList:获取keyList的长度大小 LINDEXkeyindex获取该索引下的元素lremkeycountvalue删除co unt个valuemaqunhuaList(列表)redis的数据类型Redis列表是简单的字符串列表,按照插入顺序排序 。你可以添加一个元素到列表的头部(左边)或者尾部(右边).实例:lpushredislistredis lpushredislistmongodblpushredislistoracle lrangeredislist010maqunhuaList(列表)redis的数据类型Redis的Set是st ring类型的无序集合。语法:saddkeyvalue:向set添加元素sremke yvalue:从set中移除元素smemberskey:取出所有set元素SISME MBERkeyvalue:查看value是否存在set中实例:saddredissetredis saddredissetmongodbsaddredissetoraclesme mbersredissetmaqunhuaSet(集合)redis的数据类型Redis有序集合和集合一样也是stri ng类型元素的集合,且不允许重复的成员。语法:zaddkeyscoremember实例: zaddrediszadd1rediszaddrediszadd2mysqlzadd rediszadd3javasmembersrediszaddmaqunhuazset(有序集合) redis的持久化RDB持久化是通过save命令快照到dump.rdb。可通过配置文件中配置save9001???? ?????????#在900秒(15分钟)之后,如果至少有1个key发生变化,则dump内存快照。save30010??? ????????#在300秒(5分钟)之后,如果至少有10个key发生变化,则dump内存快照。save6010000?? ?????#在60秒(1分钟)之后,如果至少有10000个key发生变化,则dump内存快照。maqunhua RD B持久化redis的持久化在Redis的配置文件中存在三种同步方式,它们分别是:appendfsyncalways???? #每次有数据修改发生时都会写入AOF文件。appendfsynceverysec?#每秒钟同步一次,该策略为AOF的缺省策 略。appendfsyncno?????????#从不同步。高效但是数据不会被持久化。maqunhua AOF持 久化Java使用Redisimportredis.clients.jedis.Jedis;publicclass RedisJava{publicstaticvoidmain(String[]args){//连接本地的Redis服务Jedisjedis=newJedis("localhost");System.out.println("Connectiontoserversucessfully");//查看服务是否运行System.out.println("Serverisrunning:"+jedis.ping());}}maqunhua 谢谢!惠买集团maqunhua |
|