PHP培训实战教程之redis应用

2016-1-31 liyangweb.com 李杨 Web周边

一、使用缓存数据库为什么首选用redis?
 
    我们都知道,把一些热数据存到缓存中可以极大的提高速度,那么问题来了,是用Redis好还是Memcached好呢,以下是它们两者之间一些简单的区别与比较:
 
1. Redis不仅支持简单的k/v类型的数据,同时还支持list、set、zset(sorted set)、hash等数据结构的存储,使得它拥有更广阔的应用场景。
 
2. Redis最大的亮点是支持数据持久化,它在运行的时候可以将数据备份在磁盘中,断电或重启后,缓存数据可以再次加载到内存中,只要Redis配置的合理,基本上不会丢失数据。
 
3. Redis支持主从模式的应用。
 
4. Redis单个value的最大限制是1GB,而Memcached则只能保存1MB内的数据。
 
5. Memcache在并发场景下,能用cas保证一致性,而Redis事务支持比较弱,只能保证事务中的每个操作连续执行。
 
6. 性能方面,根据网友提供的测试,Redis在读操作和写操作上是略领先Memcached的。
 
从上面这些看出,Redis的优势比Memcached大,不过Memcached也还是有它用武之地的。要是只选择装其中一种的话,还是要首选Redis。
 
 
二、如何使用redis?
 
你一定要知道的是:redis的key名要区分大小写,在redis中除了 和空格外,其他的字符都可以做为key名,且长度不做限制,不过为了性能考虑,一般key名不要设置的太长。redis功能强大,支持数据类型丰富,以下是redis操作命令大全,基本上涵盖了redis所有的命令!
 
1、redis命令基本篇
 
1)、【 set key value 】 存入一个key和值。如:set myname reson
2)、【 get key 】 读取一个key的值。
3)、【 del key 】 删除一个key。
4)、【 del key1 key2 ... keyN 】 删除多个key。如:del myname1 myname2
5)、【 exists key 】 判断一个key是否存在。
6)、【 type key 】 查看key的类型。
7)、【 rename key keyNew 】 重命名key名。如:rename myname myname2
8)、【 dbsize 】 查看当前库中的key的条数。
9)、【 expire key time 】 指定key的过期时间,单位为秒。如:expire myname 9(设置9秒后过期)
10)、【 ttl key 】 查看redis有多长时间过期,单位为秒。
11)、【 keys * 】 列出当前库中所有的key名。
12)、【 keys a* 】 列出当前库中所有以字符串“a"开头的key。
13)、【 select db-index 】 选择一个数据库,如选择第一个数据库:select 0;选择第二个 select 1;默认有16个数据库,这个值可以在redis.conf中配置。
14)、【 flushdb 】 清掉当前库中所有的key(生产环境下需谨慎操作)。
15)、【 flushall 】 清掉所有库中全部的key(生产环境下需谨慎操作)。
16)、【 mset key1 value1 key2 value2 ... keyN valueN 】 一次性存入多个key和值。
17)、【 mget key1 key2 ... keyN 】 一次性读取多个key。
18)、【 incr key 】 可以对key类型+1的操作(相当于编程语言里面的++),只能操作number型,操作字符串会报错。可对新值进行操作。
19)、【 decr key 】 可以对key类型-1的操作(相当于编程语言里面的--),只能操作number型,操作字符串会报错。
20)、【 incrby key num 】 同incr,对key的值加num,比如 incrby aa 10,对aa+10。
21)、【 decrby key num 】 同上,对key的值减num。
22)、【 append key value 】 对指定key的字符串进行追加,如果key为整形,会被转为字符串。如aa的值为9,执行append aa 10后,会变成910。
23)、【 substr key start end 】 对key进行截取start到end个字符。如aa的值为:abcdef,执行substr aa 2 3后,返回“cd”。
 
2、redis链表类型(list)命令
 
24)、【 lpush key value 】 往队列头部插入一个元素
25)、【 rpush key value 】 从尾部插入一个元素
26)、【 lpop key 】 从队列头部删掉一个元素
27)、【 rpop key 】 从队列尾部删掉一个元素,并返回被删除元素的值
28)、【 llen 】 返回队列的长度,即里面有多少个元素。不存在key返回0,不为队列类型的key会返回报错。
29)、【 lrange key start end 】 返回队列从start到end之间的元素信息。
30)、【 ltrim key start end 】 截取一个队列,只保留指定区间内的元素。
 
3、redis无序集合set类型命令
 
31)、【 sadd key vaule 】 往集合中插入一个元素,如果value值已存在集合中,则返回0,不会被重复插入。
32)、【 sinter key1 key2 ... keyN 】 取出n个key之间的交集。比如 key1里面有值a,b,c,d,e,key2里面有d,e,f,sinter key1 key2返回d,e。
33)、【 sunion key1 key2 ... keyN 】 取出n个key之间的并集。比如 key1里面有值a,b,c,d,e,key2里面有d,e,f,sunion key1 key2返回a,b,c,d,e,f。
34)、【 sdiff  key1 key2 】 取出n个key之间的差集。比如 key1里面有值a,b,c,d,e,key2里面有d,e,f,sdiff key1 key2返回a,b,c;反过来sdiff key2 key1返回f。
35)、【 smembers key 】 返回key集合中所有的元素,结果是无序的。
36)、【 sismember key value 】 查看value这个值是否在key集合中。存在返回1,不存在返回0。
37)、【 scard key 】 返回集合中有多少个元素。
38)、【 smove key1 key2 value 】 把value从key1中移到key2中去。
39)、【 srem key value1 value2 ... valueN 】 从key集合中删掉某些元素。
 
4、redis有序集合sorted set命令
 
40)、【 zadd key v k 】 往key中添加一个元素,k为键,v为值。如:zadd artHits 99 12表示id为12的文章点击量为99次。
41)、【 zrange key start end 】 根据v的值由小到大进行排序来获得start到end之间的元素。
注:0表示第一个元素,-1表示最后一个元素,-2表示倒数第二个元素,以此类推,如果要获取第一个到倒数第三个之间的元素,命令为:zrange key 0 -3。
42)、【 zrevrange key start end 】 同上,根据v的值由大到小进行排序来获得start到end之间的元素。可以轻松取出点击量最高的前n篇文章。
43)、【 zremrangebyrank key start end 】 删除集合中的元素。排序的方式为按照v由小到大的顺序,如果要删除key集合中的第一个值,则运行 zremrangebyrank artHits 0 0;删除前3个值:zremrangebyrank artHits 0 2。
44)、【 zcard 】 返回key集合中元素的个数。
45)、【 zrank key k 】 返回值k在集合key中排第几位,是按照v由小到大的顺序。排第一名返回0,第二返回1,以此类推。
46)、【 zrevrank key k 】 同上,不同的是,按照v由大到小的顺序。可以轻松取出点击量最高的文章。
47)、【 zscore key k 】 取出集合key中键为k对应的值v。
48)、【 zrem key k 】 删除集合中指定元素。
49)、【 zincrby key num k 】 给集合key中的元素k加上num,值针对整型。比如 zincrby artHits 3 12,给id为12的文章加上3个点击量。此时zscore artHits 12的结果是99+3为102。
 
5、redis哈希hash类型命令
 
50)、【 hset key field value 】 设置hash field为指定值,如果key不存在,则先创建。
51)、【 hmset key field1 value1 ... fieldN valueN 】 同时设置多个值。
52)、【 hget key field 】  获取指定的hash field
53)、【 hmget key field1 field1 ... fieldN 】 获取指定的多个hash field
54)、【 hincrby key field num 】 将指定的hash field加上指定的值。
55)、【 hexists key field 】 查看指定field是否存在。
56)、【 hdel key field 】 删除指定的hash field。
57)、【 hlen key 】 返回指定hash中field的数量。
58)、【 hkeys key 】 返回hash所有的field。
59)、【 hvals 】 返回hash中所有的value。
60)、【 hgetall key 】 返回hash中所有的field和value。

 

转自:http://www.itcast.cn/news/20151229/14494439983.shtml?1601dzwedmphp

标签: Redis

评论:

lumalender
2019-01-19 02:35
<a href="http://www.fromuser.com/nike-air-max-95-gituttio-grigio-for-vendita-obuvg">nike air max 95 gituttio grigio for vendita</a> <a href="http://www.giorgiocarusi.com/nike-structure-18-hvid-scarpee">nike structure 18 hvid</a> <a href="http://www.protrainingfl.com/air-jordan-5-negroout-butya">air jordan 5 negroout</a> <a href="http://www.tarbiatesabz.com/nike-flyknit-racer-hyper-naranja-light-chaussurese">nike flyknit racer hyper naranja light</a> <a href="http://www.crimeaon.com/nike-air-max-2016-svart-gull-butya">nike air max 2016 svart gull</a> <a href="http://www.deploygis.com/reebok-classic-retro-l%C3%A6der-hvid-lyser%C3%B8d-schuheg">reebok classic retro l忙der hvid lyser酶d</a>
lumalender http://www.lumalender.com/
skynetankara
2019-01-16 10:03
<a href="http://www.hotelsuixlara.com/nike-free-run-2-zwart-verkauf-schuhec">nike free run 2 zwart verkauf</a> <a href="http://www.jautobodyshop.com/adidas-ultra-boost-rot-himmelblau-chaussurese">adidas ultra boost rot himmelblau</a> <a href="http://www.nightlifeid.com/dam%C3%A4nner-nike-air-huarache-rosa-gr%C3%BCn-butyg">dam盲nner nike air huarache rosa gr眉n</a> <a href="http://www.prorilasia.com/nike-air-max-90-off-bianca-quartz-scarpea">nike air max 90 off bianca quartz</a> <a href="http://www.purchasemenu.com/nike-air-force-1-hi-hvid-sort-schuhec">nike air force 1 hi hvid sort</a> <a href="http://www.tkreative.com/nike-dam%C3%A4nner-air-max-90-trainers-in-sail-schwarz-and-gr%C3%BCn-butyf">nike dam盲nner air max 90 trainers in sail schwarz and gr眉n</a>
skynetankara http://www.skynetankara.com/
perialetheia
2019-01-10 10:42
<a href="http://www.myoastudies.com/nike-elite-richard-sherman-jersey-25-nfl-seattle-seahawks-drift-fashion-mens-road-white-nflz">nike elite richard sherman jersey 25 nfl seattle seahawks drift fashion mens road white</a> <a href="http://www.reganwhimpey.com/nike-kd-8-high-gris-vert-kurpesa">nike kd 8 high gris vert</a> <a href="http://www.segurotiendas.com/nike-pegasus-31-space-bleu-butyg">nike pegasus 31 space bleu</a> <a href="http://www.specpilot.com/new-england-patriots-jersey-2017-nflx">new england patriots jersey 2017</a> <a href="http://www.texaschambers.com/air-jordan-30.5-lila-gr%C3%BCn-butyd">air jordan 30.5 lila gr眉n</a> <a href="http://www.waughjiujitsu.com/adidas-x-ace-soccer-blanc-argent-kurpesc">adidas x ace soccer blanc argent</a>
perialetheia http://www.perialetheia.com/
toilocadeau
2019-01-04 06:38
<a href="http://www.anthillprague.com/reekbok-revenge-plus-vintage-rose-jaune-scarpea">reekbok revenge plus vintage rose jaune</a> <a href="http://www.bisbeegrille.com/roshe-run-schwarz-sail-online-chaussuresf">roshe run schwarz sail online</a> <a href="http://www.chipchak.com/nike-free-l%C3%B8b-gr%C3%B8n-guld-kurpesf">nike free l酶b gr酶n guld</a> <a href="http://www.maruldeaur.com/nike-flyknit-roshe-run-bl%C3%A5-svart-obuva">nike flyknit roshe run bl氓 svart</a> <a href="http://www.pepinmystep.com/ralph-lauren-coats-marr%C3%B3n-beige-polot">ralph lauren coats marr贸n beige</a> <a href="http://www.redtokill.com/air-jordan-phase-rojo-amarillo-schuhed">air jordan phase rojo amarillo</a>
toilocadeau http://www.toilocadeau.com/
moombaki
2019-01-03 21:43
<a href="http://www.dissertationsverlag.net/adizero-f50-nero-pelle-kurpesc">adizero f50 nero pelle</a> <a href="http://www.divxcompare.net/vibram-fivefingers-bikila-rosado-amarillo-scarpec">vibram fivefingers bikila rosado amarillo</a> <a href="http://www.dnacf.net/nike-free-5.0-rosa-and-blau-pill-schuhed">nike free 5.0 rosa and blau pill</a> <a href="http://www.doresdecabeca.net/nike-flyknit-roshe-run-lilla-yeezy-obuvf">nike flyknit roshe run lilla yeezy</a> <a href="http://www.dorothygrant.net/wolf-gris-jordan-5-mujeres-butya">wolf gris jordan 5 mujeres</a> <a href="http://www.dotjewelers.net/lebron-soldier-9-lyser%C3%B8d-cast-butya">lebron soldier 9 lyser酶d cast</a>
moombaki http://www.moombaki.net/
djprofi
2018-12-30 18:08
<a href="http://www.getmohrfit.com/barato-nike-air-max-95-from-china-schuhed">barato nike air max 95 from china</a> <a href="http://www.lovehosaga.com/kobe-9-elite-svart-and-gr%C3%B8nn-kurpese">kobe 9 elite svart and gr酶nn</a> <a href="http://www.kidminpros.com/nike-pegasus-32-lilla-eye-obuva">nike pegasus 32 lilla eye</a> <a href="http://www.typecomment.com/nike-free-5.0-electric-gr%C3%B8n-qb-obuvf">nike free 5.0 electric gr酶n qb</a> <a href="http://www.minstrelhouse.com/nike-lebron-12-low-blanc-and-or-obuvf">nike lebron 12 low blanc and or</a> <a href="http://www.barrettmark.com/nike-air-griffey-max-2-university-rojo-schuhef">nike air griffey max 2 university rojo</a>
djprofi http://www.djprofi.com/
warthogrugby
2018-12-29 22:45
<a href="http://www.skynetankara.com/the-north-face-softshell-jacket-mens-northfacer">the north face softshell jacket mens</a> <a href="http://www.joubertets.com/retired-pandora-charms-pandorar">retired pandora charms</a> <a href="http://www.mobilsevgili.com/pandora-pink-gold-ring-pandorar">pandora pink gold ring</a> <a href="http://www.demointegrate.com/low-cost-air-jordan-29-shoes-runningc">low cost air jordan 29 shoes</a> <a href="http://www.sekaiblog.com/air-yeezy-ii-2-sp-max-90-herre-s%C3%B8lv-runninge">air yeezy ii 2 sp max 90 herre s酶lv</a> <a href="http://www.witeducates.com/burgundy-mk-wallet-mkr">burgundy mk wallet</a>
[url=http://www.warthogrugby.com/]warthogrugby[/url]
nrthofhere
2018-12-29 00:11
<a href="http://www.divorcecpas.com/air-jordan-28-for-salg-billig-kurpesa">air jordan 28 for salg billig</a> <a href="http://www.donhowsuccess.com/adidas-pr%C3%B8dator-lz-trx-wfg-butyg">adidas pr酶dator lz trx wfg</a> <a href="http://www.emtekmakina.com/nfl-dante-fowler-jr-mens-limited-gold-jersey-56-los-angeles-rams-nike-rush-vapor-untouchable-nflx">nfl dante fowler jr mens limited gold jersey 56 los angeles rams nike rush vapor untouchable</a> <a href="http://www.kokismith.com/nike-kd-8-high-hvid-s%C3%B8lv-butyd">nike kd 8 high hvid s酶lv</a> <a href="http://www.luftsepp.com/lunarglide-7-wolf-grigio-trailer-kurpesc">lunarglide 7 wolf grigio trailer</a> <a href="http://www.rimsanmakine.com/ralph-lauren-overnight-bag-hommes-polos">ralph lauren overnight bag hommes</a>
nrthofhere http://www.nrthofhere.com/

发表评论:

Powered by emlog 冀ICP备13011830号-1