Redis是什么


Redis是一个非常快速的开源非关系数据库,它存储了五种不同类型值的键映射。用作数据库,缓存和消息代理。下面本篇文章就来介绍一下Redis,希望对大家有所帮助。
什么是Redis?
Redis是一个内存中的键值数据库,通常称为数据结构服务器。Redis和其他键值数据库之间的主要区别之一是Redis存储和操作高级数据类型的能力。这些数据类型是大多数开发人员熟悉的基本数据结构(列表,映射,集合和排序集)。Redis的卓越性能,简单性和数据结构的原子操作有助于解决使用传统关系数据库实现时难以实现或执行不佳的问题。
Redis主要特点
高级数据结构:为值提供五种可能的数据类型:字符串,列表,集合,哈希和有序集合。提供了这些数据类型独有的操作,并且具有记录良好的时间复杂度(Big O表示法)。
高性能:由于其内存特性,项目维护者将复杂性保持在最低限度的承诺以及基于事件的编程模型,Redis 在读写操作方面具有出色的性能。
没有依赖关系的轻量级:用ANSI C编写,没有外部依赖关系。适用于所有POSIX环境。Windows不受官方支持,但Microsoft提供了实验性版本。
高可用性: 内置支持异步,非阻塞,主/从复制,以确保数据的高可用性。目前有一种名为Redis Sentinel的高可用性解决方案目前可以使用,但仍被视为正在进行的工作。
Redis功能:
以下是一些最重要的Redis功能:
● 内存缓存: 由于其高性能,当读写操作量超过传统数据库的功能时,Redis能够轻松地将数据持久保存到磁盘,
● 支持发布/订阅:Redis提供了使用发布/订阅消息传递范例分发数据的功能。
● 自动重新连接支持
● Lua脚本
● 钥匙的生存时间有限
● LRU逐出钥匙
● 自动故障转移
● 内置复制
● 数据结构支持字符串,散列,列表,集合,有序集,位图,超级日志,地理空间索引
Redis支持数据结构,可以存储字符串,列表,集合,哈希。它提供了有趣的功能,如内置复制,LRU驱逐,事务,磁盘持久性和高可用性。它在群集环境中提供自动故障转移;它可以与大多数语言一起使用。
redis命令示例
下面给大家介绍一下redis命令
SET (设置键)
127.0.0.1:6379> SET foo“Hello World”
OK // 设置密钥GET (获取密钥)
127.0.0.1:6379> GET foo
“Hello World”// 获取密钥DEL (删除键)
127.0.0.1:6379> GET foo
"Hello World" // 获取密钥
127.0.0.1:6379> DEL foo
(integer) 1 // 密钥刚删除
127.0.0.1:6379> GET foo
(nil) // 自密钥因此删除,结果为零。SETEX (设置键的有效期)
127.0.0.1:6379> SETEX foo 40“我说,Hello World!”
OK // 键已设置为40秒到期TTL (键的剩余总时间)
127.0.0.1:6379> TTL foo
(integer) 36 // 36秒后超时

  • redis鍏娣樻卑绛栫暐鏄粈涔?
    绛旓細Redis锛圧emote Dictionary Server )锛屽嵆杩滅▼瀛楀吀鏈嶅姟锛屾槸涓涓紑婧愮殑浣跨敤ANSI C璇█缂栧啓銆佹敮鎸佺綉缁溿佸彲鍩轰簬鍐呭瓨浜﹀彲鎸佷箙鍖栫殑鏃ュ織鍨嬨並ey-Value鏁版嵁搴擄紝骞舵彁渚涘绉嶈瑷鐨凙PI銆備粠2010骞3鏈15鏃ヨ捣锛孯edis鐨勫紑鍙戝伐浣滅敱VMware涓绘寔銆備粠2013骞5鏈堝紑濮嬶紝Redis鐨勫紑鍙戠敱Pivotal璧炲姪銆傜壒鐐癸細Redis 鏄涓涓珮鎬ц兘鐨刱ey-...
  • redis涓昏娑堣浠涔鐗╃悊璧勬簮
    绛旓細redis涓昏娑堣楀唴瀛樼墿鐞嗚祫婧愩Redis锛圧emote Dictionary Server )锛屽嵆杩滅▼瀛楀吀鏈嶅姟锛屾槸涓涓紑婧愮殑浣跨敤ANSI C璇█缂栧啓銆佹敮鎸佺綉缁溿佸彲鍩轰簬鍐呭瓨浜﹀彲鎸佷箙鍖栫殑鏃ュ織鍨嬨並ey-Value鏁版嵁搴擄紝骞舵彁渚涘绉嶈瑷鐨凙PI銆備负浜嗕繚璇佹晥鐜囷紝鏁版嵁閮芥槸缂撳瓨鍦ㄥ唴瀛樹腑銆傛敮鎸侊細redis浣滀负涓涓猭ey-value瀛樺偍绯荤粺銆傚拰Memcached绫讳技锛屽畠鏀寔瀛樺偍...
  • redis鏁版嵁绫诲瀷鏄粈涔?
    绛旓細redis鏄涓涓猭ey-value瀛樺偍绯荤粺銆俽edis鍜孧emcached绫讳技锛屽畠鏀寔瀛樺偍鐨剉alue绫诲瀷鐩稿鏇村锛屽寘鎷瑂tring(瀛楃涓)銆乴ist(閾捐〃)銆乻et(闆嗗悎)銆亃set(sorted set --鏈夊簭闆嗗悎)鍜宧ash锛堝搱甯岀被鍨嬶級銆傝繖浜涙暟鎹被鍨嬮兘鏀寔push/pop銆乤dd/remove鍙婂彇浜ら泦骞堕泦鍜屽樊闆嗗強鏇翠赴瀵岀殑鎿嶄綔锛岃屼笖杩欎簺鎿嶄綔閮芥槸鍘熷瓙鎬х殑銆傚湪姝ゅ熀纭涓婏紝...
  • redis 涓ょ鎸佷箙鍖栧垎鍒鍙粈涔
    绛旓細  Redis鏄涓绉嶉珮绾ey-value鏁版嵁搴撱傚畠璺焟emcached绫讳技锛屼笉杩囨暟鎹彲浠ユ寔涔呭寲锛岃屼笖鏀寔鐨勬暟鎹被鍨嬪緢涓板瘜銆傛湁瀛楃涓诧紝閾捐〃锛岄泦 鍚堝拰鏈夊簭闆嗗悎銆傛敮鎸佸湪鏈嶅姟鍣ㄧ璁$畻闆嗗悎鐨勫苟锛屼氦鍜岃ˉ闆(difference)绛夛紝杩樻敮鎸佸绉嶆帓搴忓姛鑳姐傛墍浠edis涔熷彲浠ヨ鐪嬫垚鏄竴涓暟鎹粨鏋勬湇鍔″櫒銆  Redis鐨...
  • redis涓昏瑙e喅浠涔闂
    绛旓細redis鏄鍐呭瓨鏁版嵁搴擄紝璁块棶閫熷害闈炲父蹇紝鎵浠ヨ兘澶熻В鍐崇殑涔熼兘鏄繖浜涚紦瀛樼被鍨嬬殑闂锛屽涓嬶細1銆佷細璇濈紦瀛橈紙Session Cache锛夋渶甯哥敤鐨勪竴绉嶄娇鐢≧edis鐨勬儏鏅槸浼氳瘽缂撳瓨锛坰ession cache锛夈傜敤Redis缂撳瓨浼氳瘽姣斿叾浠栧瓨鍌紙濡侻emcached锛夌殑浼樺娍鍦ㄤ簬锛歊edis鎻愪緵鎸佷箙鍖栥傚綋缁存姢涓涓笉鏄弗鏍艰姹備竴鑷存х殑缂撳瓨鏃讹紝濡傛灉鐢ㄦ埛鐨勮喘鐗╄溅...
  • redis涓鑸瓨鍌浠涔绫诲瀷鏁版嵁
    绛旓細Redis鏄涓涓紑婧愮殑搴曞眰浣跨敤C璇█缂栧啓鐨刱ey-value瀛樺偍鏁版嵁搴撱傚彲鐢ㄤ簬缂撳瓨銆佷簨浠跺彂甯冭闃呫侀珮閫熼槦鍒楃瓑鍦烘櫙銆傝屼笖鏀寔涓板瘜鐨勬暟鎹被鍨嬶細string(瀛楃涓)銆乭ash(鍝堝笇)銆乴ist(鍒楄〃)銆乻et(鏃犲簭闆嗗悎)銆亃set(sorted set锛氭湁搴忛泦鍚)Redis鍦ㄩ」鐩腑鐨勫簲鐢ㄥ満鏅1銆佺紦瀛樻暟鎹渶甯哥敤锛屽缁忓父闇瑕佹煡璇笖鍙樺姩涓嶆槸寰堥绻佺殑鏁版嵁...
  • 浠涔鏄痬ongodb,zookeeper,redis,solr
    绛旓細ZooKeeper鏄竴涓垎甯冨紡鐨勶紝寮鏀炬簮鐮佺殑鍒嗗竷寮忓簲鐢ㄧ▼搴忓崗璋冩湇鍔★紝鏄疓oogle鐨凜hubby涓涓紑婧愮殑瀹炵幇锛屾槸Hadoop鍜孒base鐨勯噸瑕佺粍浠躲傚畠鏄竴涓负鍒嗗竷寮忓簲鐢ㄦ彁渚涗竴鑷存ф湇鍔$殑杞欢锛屾彁渚涚殑鍔熻兘鍖呮嫭锛氶厤缃淮鎶ゃ佸煙鍚嶆湇鍔°佸垎甯冨紡鍚屾銆佺粍鏈嶅姟绛夈Redis鏄涓涓紑婧愮殑浣跨敤ANSI C璇█缂栧啓銆佹敮鎸佺綉缁溿佸彲鍩轰簬鍐呭瓨浜﹀彲鎸佷箙鍖栫殑...
  • redis鍜宮ysql鍖哄埆鏄粈涔(mysql+redis)
    绛旓細1.mysql鍜宺edis鐨勬暟鎹簱绫诲瀷 mysql鏄叧绯诲瀷鏁版嵁搴擄紝涓昏鐢ㄤ簬瀛樻斁鎸佷箙鍖栨暟鎹紝灏嗘暟鎹瓨鍌ㄥ湪纭洏涓紝璇诲彇閫熷害杈冩參銆redis鏄NOSQL锛屽嵆闈炲叧绯诲瀷鏁版嵁搴擄紝涔熸槸缂撳瓨鏁版嵁搴擄紝鍗冲皢鏁版嵁瀛樺偍鍦ㄧ紦瀛樹腑锛岀紦瀛樼殑璇诲彇閫熷害蹇紝鑳藉澶уぇ鐨勬彁楂樿繍琛屾晥鐜囷紝浣嗘槸淇濆瓨鏃堕棿鏈夐檺 2.mysql鐨勮繍琛屾満鍒 mysql浣滀负鎸佷箙鍖栧瓨鍌ㄧ殑鍏崇郴鍨嬫暟鎹簱...
  • Redis 鎬庝箞璇,闊虫爣鏄粈涔?
    绛旓細棣栧厛锛孯edis鐨勫彂闊冲湪鑻辫涓彲浠ヨ浣 'rih-dee-ess'锛屾瘡涓煶鑺傞兘瀵瑰簲鐫娓呮櫚鐨勫彂闊崇偣锛/'rih/'锛/'dee/' 鍜/'ess/銆傚畠鐨勯瀛楁瘝 'R' 鍙戝嚭鐨勬槸娓呮櫚鐨/r/闊筹紝'ei'缁勫悎鍒欎唬琛ㄤ簡'eye'鐨勯煶锛岃'd'鍜'i'缁勫悎鍒欏彂鍑虹殑鏄'dee'鐨勯煶锛屾渶鍚庣殑's'淇濇寔杞诲揩锛屼笉鎷栭暱銆Redis鏄"Remote Dictionary Server...
  • redis field 鏄粈涔鎰忔 璺焝ey鏄粈涔堝叧绯,姣斿lpush(key,field,value...
    绛旓細鍏堣redisredis鏄涓涓被浼糾emcached鐨刱ey/value瀛樺偍绯荤粺锛屽畠鏀寔瀛樺偍鐨剉alue绫诲瀷鐩稿杈冨锛屽寘鎷瑂tring(瀛楃涓)銆乴ist(閾捐〃)銆乻et(闆嗗悎)鍜寊set(鏈夊簭闆嗗悎)銆傚湪姝ゅ熀纭涓婏紝redis鏀寔鍚勭涓嶅悓鏂瑰紡鐨勬帓搴忋備笌memcached涓鏍凤紝涓轰簡淇濊瘉鏁堢巼锛屾暟鎹兘鏄紦瀛樺湪鍐呭瓨涓傚尯鍒殑鏄痳edis浼氬懆鏈熸х殑鎶婃洿鏂扮殑鏁版嵁鍐欏叆纾佺洏鎴栬...
  • 扩展阅读:redis是什么工具 ... youtube ... redis面试必会6题经典 ... redis和mysql区别 ... 几率大的redis面试题 ... redis面试题大全 ... redis项目中用来做什么 ... spring boot ... elasticsearch ...

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