redis到底是个什么东西 Redis是什么,用来做什么

redis\u662f\u4ec0\u4e48

redis\u662f\u4e00\u4e2akey-value\u5b58\u50a8\u7cfb\u7edf\u3002\u548cMemcached\u7c7b\u4f3c\uff0c\u5b83\u652f\u6301\u5b58\u50a8\u7684value\u7c7b\u578b\u76f8\u5bf9\u66f4\u591a\uff0c\u5305\u62ecstring(\u5b57\u7b26\u4e32)\u3001list(\u94fe\u8868)\u3001set(\u96c6\u5408)\u3001zset(sorted set --\u6709\u5e8f\u96c6\u5408)\u548chash\uff08\u54c8\u5e0c\u7c7b\u578b\uff09\u3002\u8fd9\u4e9b\u6570\u636e\u7c7b\u578b\u90fd\u652f\u6301push/pop\u3001add/remove\u53ca\u53d6\u4ea4\u96c6\u5e76\u96c6\u548c\u5dee\u96c6\u53ca\u66f4\u4e30\u5bcc\u7684\u64cd\u4f5c\uff0c\u800c\u4e14\u8fd9\u4e9b\u64cd\u4f5c\u90fd\u662f\u539f\u5b50\u6027\u7684\u3002\u5728\u6b64\u57fa\u7840\u4e0a\uff0credis\u652f\u6301\u5404\u79cd\u4e0d\u540c\u65b9\u5f0f\u7684\u6392\u5e8f\u3002\u4e0ememcached\u4e00\u6837\uff0c\u4e3a\u4e86\u4fdd\u8bc1\u6548\u7387\uff0c\u6570\u636e\u90fd\u662f\u7f13\u5b58\u5728\u5185\u5b58\u4e2d\u3002\u533a\u522b\u7684\u662fredis\u4f1a\u5468\u671f\u6027\u7684\u628a\u66f4\u65b0\u7684\u6570\u636e\u5199\u5165\u78c1\u76d8\u6216\u8005\u628a\u4fee\u6539\u64cd\u4f5c\u5199\u5165\u8ffd\u52a0\u7684\u8bb0\u5f55\u6587\u4ef6\uff0c\u5e76\u4e14\u5728\u6b64\u57fa\u7840\u4e0a\u5b9e\u73b0\u4e86master-slave(\u4e3b\u4ece)\u540c\u6b65\u3002
Redis \u662f\u4e00\u4e2a\u9ad8\u6027\u80fd\u7684key-value\u6570\u636e\u5e93\u3002 redis\u7684\u51fa\u73b0\uff0c\u5f88\u5927\u7a0b\u5ea6\u8865\u507f\u4e86memcached\u8fd9\u7c7bkey/value\u5b58\u50a8\u7684\u4e0d\u8db3\uff0c\u5728\u90e8 \u5206\u573a\u5408\u53ef\u4ee5\u5bf9\u5173\u7cfb\u6570\u636e\u5e93\u8d77\u5230\u5f88\u597d\u7684\u8865\u5145\u4f5c\u7528\u3002\u5b83\u63d0\u4f9b\u4e86Python\uff0cRuby\uff0cErlang\uff0cPHP\u5ba2\u6237\u7aef\uff0c\u4f7f\u7528\u5f88\u65b9\u4fbf\u3002
redis\u63d0\u4f9b\u4e94\u79cd\u6570\u636e\u7c7b\u578b\uff1astring\uff0chash\uff0clist\uff0cset\u53cazset(sorted set)\u3002
redis\u4f7f\u7528\u4e86\u4e24\u79cd\u6587\u4ef6\u683c\u5f0f\uff1a\u5168\u91cf\u6570\u636e\u548c\u589e\u91cf\u8bf7\u6c42\u3002

Redis\u662f\u4e00\u4e2anosql\u6570\u636e\u5e93\uff0c\u53ef\u4ee5\u5b58\u50a8key-value\u503c\u3002\u56e0\u4e3a\u5176\u5e95\u5c42\u5b9e\u73b0\u4e2d\uff0c\u6570\u636e\u8bfb\u5199\u662f\u57fa\u4e8e\u5185\u5b58\uff0c\u901f\u5ea6\u975e\u5e38\u5feb\uff0c\u6240\u4ee5\u5e38\u7528\u4e8e\u7f13\u5b58\uff1b\u8fdb\u800c\u56e0\u5176\u4e3a\u72ec\u7acb\u90e8\u7f72\u7684\u4e2d\u95f4\u4ef6\uff0c\u5e38\u7528\u4e8e\u5206\u5e03\u5f0f\u7f13\u5b58\u7684\u5b9e\u73b0\u65b9\u6848\u3002
\u5e38\u7528\u573a\u666f\u6709\uff1a\u7f13\u5b58\u3001\u79d2\u6740\u63a7\u5236\u3001\u5206\u5e03\u5f0f\u9501\u3002
\u867d\u7136\u5176\u662f\u57fa\u4e8e\u5185\u5b58\u8bfb\u5199\uff0c\u4f46\u5e95\u5c42\u4e5f\u6709\u6301\u4e45\u5316\u673a\u5236\uff1b\u540c\u65f6\u5177\u5907\u96c6\u7fa4\u6a21\u5f0f\uff1b\u4e0d\u7528\u62c5\u5fc3\u5176\u53ef\u7528\u6027\u3002
\u5173\u4e8eRedis\u7684\u4f7f\u7528\uff0c\u53ef\u4ee5\u53c2\u8003\u300aRedis\u7684\u4f7f\u7528\u65b9\u6cd5\u3001\u5e38\u89c1\u5e94\u7528\u573a\u666f\u300b

1. 什么是Redis

Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库。Redis全称为:Remote Dictionary Server(远程数据服务),该软件使用C语言编写,Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash。

2. Redis特点

Redis以内存作为数据存储介质,所以读写数据的效率极高,远远超过数据库。以设置和获取一个256字节字符串为例,它的读取速度可高达110000次/s,写速度高达81000次/s。

Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启后,数据也不会丢失。因为Redis的存储分为内存存储、磁盘存储和log文件三部分,重启后,Redis可以从磁盘重新将数据加载到内存中,这些可以通过配置文件对其进行配置,正因为这样,Redis才能实现持久化。

Redis支持主从模式,可以配置集群,这样更利于支撑起大型的项目,这也是Redis的一大亮点。

3. Redis应用场景,它能做什么

众多语言都支持Redis,因为Redis交换数据快,所以在服务器中常用来存储一些需要频繁调取的数据,这样可以大大节省系统直接读取磁盘来获得数据的I/O开销,更重要的是可以极大提升速度。

拿大型网站来举个例子,比如a网站首页一天有100万人访问,其中有一个板块为推荐新闻。要是直接从数据库查询,那么一天就要多消耗100万次数据库请求。上面已经说过,Redis支持丰富的数据类型,所以这完全可以用Redis来完成,将这种热点数据存到Redis(内存)中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。

总之,Redis的应用是非常广泛的,而且极有价值,真是服务器中的一件利器,所以从现在开始,我们就来一步步学好它。

Redis是NoSQL中的一种存储工具,他是一个key-value存储系统。默认有16个数据库从0到15来进行表示。Redis的存储类型:包括string(字符串)、list(链表)、set(集合)、zset(sorted set--有序集合)和hash(哈希类型)。在此基础上,Redis支持各种不同方式的排序。
Redis被广泛应用在缓存方向,与传统数据库不同的是Redis的数据是存在内存中的,因此读写速度非常快。
Redis为分布式缓存,在多客户端的情况下,共用一份缓存数据,缓存具有一致性。
Redis会周期性地把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步,为了可靠性。
Redis有什么特点?
性能极高–Redis读的速度是11W次/s,写的速度是81K次/s支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
丰富的数据类型,Redis不仅仅支持简单的key-value类型的数据,同时还提供Strings,Lists,Hashes,Sets及Ordered Sets等数据结构的存储。支持数据的备份,即master-slave模式的数据备份。

  1. Redis 是一个高性能的key-value数据库。

  2. redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。

  3. 它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。



是数据库
高性能的key-value数据库
可以用来做cache ,计数器,做热数据存储

  • redis鍒板簳鏄釜浠涔堜笢瑗
    绛旓細Redis鏄敱鎰忓ぇ鍒╀汉Salvatore Sanfilippo锛堢綉鍚嶏細antirez锛夊紑鍙戠殑涓娆惧唴瀛橀珮閫熺紦瀛樻暟鎹簱銆俁edis鍏ㄧО涓猴細Remote Dictionary Server锛堣繙绋嬫暟鎹湇鍔★級锛岃杞欢浣跨敤C璇█缂栧啓锛孯edis鏄竴涓猭ey-value瀛樺偍绯荤粺锛屽畠鏀寔涓板瘜鐨勬暟鎹被鍨嬶紝濡傦細string銆乴ist銆乻et銆亃set(sorted set)銆乭ash銆2. Redis鐗圭偣 Redis浠ュ唴瀛樹綔涓烘暟鎹...
  • redis鍜宧ashmap鍝釜鏇村揩
    绛旓細Redis 鍜 Java 涓殑 HashMap 鏄袱涓笉鍚岀殑涓滆タ锛屼笉鑳界洿鎺ヨ繘琛屾瘮杈冦Redis 鏄竴娆惧熀浜庡唴瀛樼殑閿煎瓨鍌ㄧ郴缁锛屾敮鎸佸绉嶆暟鎹粨鏋勶紝鍖呮嫭瀛楃涓层佸垪琛ㄣ佸搱甯岃〃銆侀泦鍚堝拰鏈夊簭闆嗗悎绛夈傝 Java 涓殑 HashMap 鏄竴绉嶅熀浜庡搱甯岃〃鐨勬暟鎹粨鏋勶紝鐢ㄤ簬瀛樺偍閿煎銆鍦 Redis 涓紝鍝堝笇琛紙hash锛夋槸涓绉嶆暟鎹粨鏋锛岀敤浜庡瓨鍌...
  • redis field 鏄粈涔鎰忔 璺焝ey鏄粈涔堝叧绯,姣斿lpush(key,field,value...
    绛旓細鍏堣redisredis鏄竴涓被浼糾emcached鐨刱ey/value瀛樺偍绯荤粺锛屽畠鏀寔瀛樺偍鐨剉alue绫诲瀷鐩稿杈冨锛屽寘鎷瑂tring(瀛楃涓)銆乴ist(閾捐〃)銆乻et(闆嗗悎)鍜寊set(鏈夊簭闆嗗悎)銆傚湪姝ゅ熀纭涓婏紝redis鏀寔鍚勭涓嶅悓鏂瑰紡鐨勬帓搴忋備笌memcached涓鏍凤紝涓轰簡淇濊瘉鏁堢巼锛屾暟鎹兘鏄紦瀛樺湪鍐呭瓨涓傚尯鍒殑鏄痳edis浼氬懆鏈熸х殑鎶婃洿鏂扮殑鏁版嵁鍐欏叆纾佺洏鎴栬...
  • SpringBoot杩涢樁涔嬬紦瀛樹腑闂翠欢Redis
    绛旓細Redis 鏄敱鎰忓ぇ鍒╀汉Salvatore Sanfilippo锛堢綉鍚嶏細antirez锛夊紑鍙戠殑涓娆惧唴瀛橀珮閫熺紦瀛樻暟鎹簱銆傚叏绉板彨 Remote Dictionary Server锛堣繙绋嬫暟鎹湇鍔★級 鏄敱 C璇█ 缂栧啓鐨勶紝Redis鏄竴涓 key-value 瀛樺偍绯荤粺锛屽畠鏀寔涓板瘜鐨勬暟鎹被鍨嬶紝濡傦細 string銆乴ist銆乻et銆亃set(sorted set)銆乭ash 銆傚畠鏈川涓婃槸涓绉嶉敭...
  • redis 鏈夋暟鎹簱琛ㄧ殑姒傚康鍚?
    绛旓細redis灏辨槸kv瀛樺偍锛屾病鏈夋暟鎹簱琛ㄧ殑姒傚康锛屼綘鍐欑殑涓滆タ涓瀹氳璁剧疆鏃堕檺锛屾垨鑰呭啓濂芥枃妗o紝濡傛灉浣犺蛋浜嗭紝鍚庢湡娌′汉缁存姢锛岄潪甯告氮璐硅祫婧愩傝繕鏈夊氨鏄痳edis鏄瓨鍐呭瓨鐨勶紝闈炲父蹇熶絾鏄槀璐碉紝寤鸿浣犵敤redis瀛樺偍鏃跺厛绠椾竴涓嬫暟鎹噺锛岀湅鐪嬩綘鍐呭瓨鑳戒笉鑳借涓嬶紝闇瑕佸嚑鍙版満鍣紝鍑犲彴澶囦唤鏈猴紝鏈嶅姟鍣ㄤ竴鏃﹂噸鍚暟鎹叏鏃狅紝浣跨敤鏃跺皬蹇冿紝...
  • 鏁版嵁搴撶鐞嗙郴缁熻蒋浠舵湁鍝簺
    绛旓細Redis鏄C璇█寮鍙戠殑涓涓紑婧愰珮鎬ц兘閿煎鐨勫唴瀛樻暟鎹簱锛屽彲浠ョ敤鏉ュ仛鏁版嵁搴撱佺紦瀛樸佹秷鎭腑闂翠欢绛夊満鏅紝鏄竴绉峃oSQL鐨勬暟鎹簱銆傚叾涓昏鐗圭偣锛氭ц兘浼樼锛屾暟鎹槸瀛樺偍鍦ㄥ唴瀛樹腑锛岃鍐欓熷害闈炲父蹇紝鍙敮鎸佸苟鍙10WQPS锛涘彲浣滀负鍒嗗竷寮忛攣锛涙敮鎸佷簲绉嶆暟鎹被鍨嬶紱鏀寔鏁版嵁鎸佷箙鍖栧埌纾佺洏锛涘彲浠ヤ綔涓烘秷鎭腑闂翠欢浣跨敤绛夈傛暟鎹紦瀛樻槸...
  • 璋堣皥redis,memcache,mongodb鐨勫尯鍒拰鍏蜂綋搴旂敤鍦烘櫙
    绛旓細1銆佺被鍨嬧斺攎emcache 鍜 redis 閮芥槸灏嗘暟鎹瓨鏀惧湪鍐呭瓨锛屾墍浠ユ槸鍐呭瓨鏁版嵁搴撱傚綋鐒讹紝memcache 涔熷彲鐢ㄤ簬缂撳瓨鍏朵粬涓滆タ锛屼緥濡傚浘鐗囩瓑绛夈2銆 鏁版嵁绫诲瀷鈥斺擬emcache 鍦ㄦ坊鍔犳暟鎹椂灏辫鎸囧畾鏁版嵁鐨勫瓧鑺傞暱搴,鑰 redis 涓嶉渶瑕併3銆 铏氭嫙鍐呭瓨鈥斺斿綋鐗╃悊鍐呭瓨鐢ㄥ畬鏃讹紝鍙互灏嗕竴浜涘緢涔呮病鐢ㄥ埌鐨 value 浜ゆ崲鍒扮鐩樸4銆 杩囨湡...
  • redis鍘熺悊,鍗曠嚎绋嬫庝箞鍋氬埌楂樺苟鍙戠殑
    绛旓細浣嗙嚎绋嬶紝鍙兘闈犲崟涓鐞嗗櫒閫熷害锛屽唴瀛橀熷害锛屽鐞嗗櫒涓婄殑缂撳瓨閫熷害锛屾荤嚎浼犺緭閫熷害銆備綑涓嬬殑鏄綘鐨勭綉缁淚O銆備絾绾跨▼楂樺苟鍙戝畬鍏ㄤ緷璧栫▼搴忕殑杩愯閫熷害銆redis杩欑涓滆タ鑲畾涓嶆槸浣嗙嚎绋嬬殑銆備竴涓繛鎺ュ氨鏄竴涓嚎绋嬶紝浣犺繖鏍风悊瑙e簲璇ヤ笉鍑嗙‘銆
  • redis鍛戒护鏄粈涔?
    绛旓細1銆 Redis鍜孧emcache閮芥槸灏嗘暟鎹瓨鏀惧湪鍐呭瓨涓紝閮芥槸鍐呭瓨鏁版嵁搴撱備笉杩噈emcache杩樺彲鐢ㄤ簬缂撳瓨鍏朵粬涓滆タ锛屼緥濡傚浘鐗囥佽棰戠瓑绛夈2銆丷edis涓嶄粎浠呮敮鎸佺畝鍗曠殑k/v绫诲瀷鐨勬暟鎹紝鍚屾椂杩樻彁渚沴ist锛宻et锛宧ash绛夋暟鎹粨鏋勭殑瀛樺偍銆3銆佽櫄鎷熷唴瀛樷揜edis褰撶墿鐞嗗唴瀛樼敤瀹屾椂锛屽彲浠ュ皢涓浜涘緢涔呮病鐢ㄥ埌鐨剉alue 浜ゆ崲鍒扮鐩 銆4銆佽繃鏈熺瓥鐣...
  • Redis鍜孧emcache鐨勫尯鍒荤粨
    绛旓細1銆佸瓨鍌ㄦ柟寮忎笉鍚 memecache 鎶婃暟鎹叏閮ㄥ瓨鍦ㄥ唴瀛樹箣涓紝鏂數鍚庝細鎸傛帀锛屾暟鎹笉鑳借秴杩囧唴瀛樺ぇ灏忥紱redis鏈夐儴浠藉瓨鍦ㄧ‖鐩樹笂锛岃繖鏍疯兘淇濊瘉鏁版嵁鐨勬寔涔呮э紝鏀寔鏁版嵁鐨勬寔涔呭寲锛堢瑪鑰呮敞锛氭湁蹇収鍜孉OF鏃ュ織涓ょ鎸佷箙鍖栨柟寮忥紝鍦ㄥ疄闄呭簲鐢ㄧ殑鏃跺欙紝瑕佺壒鍒敞鎰忛厤缃枃浠跺揩鐓у弬鏁帮紝瑕佷笉灏卞緢鏈夊彲鑳芥湇鍔″櫒棰戠箒婊¤浇鍋歞ump锛夈2銆佹暟鎹敮鎸...
  • 扩展阅读:redis面试必会6题经典 ... redis缺点及解决方案 ... redis在java项目中的使用 ... redis在项目中如何使用 ... redis的正确使用方法 ... redis的好处和坏处 ... redis是用来干什么的 ... redis一般用在什么场景 ... redis穿透如何解决 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网