{"id":3690,"date":"2024-11-12T10:45:11","date_gmt":"2024-11-12T07:45:11","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/"},"modified":"2024-11-12T10:45:11","modified_gmt":"2024-11-12T07:45:11","slug":"golang-apinizi-redis-ile-hiz-sinirlama","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/","title":{"rendered":"Golang API&#8217;nizi Redis ile H\u0131z S\u0131n\u0131rlama"},"content":{"rendered":"<p>Golang API&#8217;nizi Redis ile H\u0131z S\u0131n\u0131rlama<\/p>\n<p>Bu makalede, Golang API&#8217;nizi Redis kullanarak nas\u0131l h\u0131z s\u0131n\u0131rland\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz. H\u0131z s\u0131n\u0131rlama, bir API&#8217;ye yap\u0131lan istek say\u0131s\u0131n\u0131 belirli bir zaman dilimi i\u00e7erisinde s\u0131n\u0131rlayarak, k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131c\u0131lardan kaynaklanan a\u015f\u0131r\u0131 y\u00fcklenmeyi ve kaynak t\u00fckenmesini \u00f6nlemek i\u00e7in gerekli bir uygulamad\u0131r. <\/p>\n<h2>Neden H\u0131z S\u0131n\u0131rlama Gereklidir?<\/h2>\n<p>H\u0131z s\u0131n\u0131rlama, API&#8217;nizin g\u00fcvenli\u011fini sa\u011flamak i\u00e7in \u00e7ok \u00f6nemlidir. Bir API&#8217;ye yap\u0131lan istek say\u0131s\u0131 kontrol edilmezse, k\u00f6t\u00fc niyetli kullan\u0131c\u0131lar API&#8217;nizi a\u015f\u0131r\u0131 y\u00fcklemeye ve performans\u0131n\u0131 etkilemeye \u00e7al\u0131\u015fabilirler. Bunun sonucunda, me\u015fru kullan\u0131c\u0131lar\u0131n API&#8217;ye eri\u015fimi engellenebilir ve hatta API \u00e7\u00f6kebilir. <\/p>\n<h2>Redis ile H\u0131z S\u0131n\u0131rlama Nas\u0131l Yap\u0131l\u0131r?<\/h2>\n<p>Redis, bu ama\u00e7 i\u00e7in ideal bir ara\u00e7t\u0131r \u00e7\u00fcnk\u00fc:<\/p>\n<ul>\n<li>H\u0131zl\u0131 ve verimlidir<\/li>\n<li>Da\u011f\u0131t\u0131k sistemlerde iyi \u00e7al\u0131\u015f\u0131r<\/li>\n<li>Karma\u015f\u0131k anahtar-de\u011fer \u00e7ifti depolama olana\u011f\u0131 sa\u011flar<\/li>\n<\/ul>\n<p>Redis&#8217;i kullanarak h\u0131z s\u0131n\u0131rlama uygulaman\u0131n temel ad\u0131mlar\u0131 \u015funlard\u0131r:<\/p>\n<ol>\n<li><b>\u0130stekleri izleme:<\/b> Her istekte, kullan\u0131c\u0131 veya IP adresi gibi bir kimlik belirleyiciye g\u00f6re bir Redis anahtar\u0131 olu\u015fturun. Bu anahtar, yap\u0131lan istek say\u0131s\u0131n\u0131 saklamak i\u00e7in kullan\u0131lacak. <\/li>\n<li><b>S\u0131n\u0131rlar\u0131 uygulama:<\/b> Bir zaman dilimi i\u00e7erisinde izin verilen maksimum istek say\u0131s\u0131n\u0131 tan\u0131mlay\u0131n. <\/li>\n<li><b>S\u0131n\u0131rlar\u0131 kontrol etme:<\/b> Her istekte, Redis&#8217;teki ilgili anahtardaki istek say\u0131s\u0131n\u0131 kontrol edin.  E\u011fer s\u0131n\u0131r a\u015f\u0131lm\u0131\u015fsa, iste\u011fi reddedin. <\/li>\n<li><b>S\u00fcre a\u015f\u0131m\u0131n\u0131 y\u00f6netme:<\/b> Zaman dilimi bitti\u011finde, Redis anahtar\u0131ndaki istek say\u0131s\u0131n\u0131 s\u0131f\u0131rlay\u0131n. <\/li>\n<\/ol>\n<h2>Golang&#8217;da Redis ile H\u0131z S\u0131n\u0131rlama Uygulamas\u0131<\/h2>\n<p>\u0130\u015fte Golang&#8217;da Redis ile h\u0131z s\u0131n\u0131rlama uygulamas\u0131 i\u00e7in bir \u00f6rnek kod:<\/p>\n<p>&#8220;`go<br \/>\npackage main<\/p>\n<p>import (<br \/>\n  &#8220;fmt&#8221;<br \/>\n  &#8220;time&#8221;<\/p>\n<p>  &#8220;github.com\/go-redis\/redis\/v8&#8221;<br \/>\n)<\/p>\n<p>func main() {<br \/>\n  \/\/ Redis ba\u011flant\u0131s\u0131 olu\u015fturma<br \/>\n  rdb := redis.NewClient(&#038;redis.Options{<br \/>\n    Addr:     &#8220;localhost:6379&#8221;,<br \/>\n    Password: &#8220;&#8221;, \/\/ Redis \u015fifrenizi buraya girin<br \/>\n    DB:       0,  \/\/ Veri taban\u0131 numaras\u0131<br \/>\n  })<\/p>\n<p>  \/\/ Test iste\u011fi g\u00f6nderme<br \/>\n  requestCount, err := rdb.Incr(&#8220;user:123:request_count&#8221;).Result()<br \/>\n  if err != nil {<br \/>\n    fmt.Println(&#8220;Hata:&#8221;, err)<br \/>\n    return<br \/>\n  }<\/p>\n<p>  \/\/ S\u0131n\u0131r\u0131n kontrol edilmesi<br \/>\n  if requestCount > 10 {<br \/>\n    fmt.Println(&#8220;H\u0131z s\u0131n\u0131rlamas\u0131 uyguland\u0131!&#8221;)<br \/>\n    return<br \/>\n  }<\/p>\n<p>  \/\/ \u0130ste\u011fin i\u015flenmesi<br \/>\n  fmt.Println(&#8220;\u0130stek ba\u015far\u0131yla i\u015flendi!&#8221;)<br \/>\n}<br \/>\n&#8220;`<\/p>\n<p>Bu \u00f6rnek kodda, bir kullan\u0131c\u0131 i\u00e7in &#8220;user:123:request_count&#8221; anahtar\u0131nda istek say\u0131s\u0131n\u0131 tutan bir Redis anahtar\u0131 olu\u015fturuyoruz. Her istekte, bu anahtara ait de\u011fer art\u0131r\u0131l\u0131yor. E\u011fer de\u011fer 10&#8217;u a\u015farsa, &#8220;H\u0131z s\u0131n\u0131rlamas\u0131 uyguland\u0131!&#8221; mesaj\u0131 ekrana yazd\u0131r\u0131l\u0131yor ve istek reddediliyor. <\/p>\n<h2>H\u0131z S\u0131n\u0131rlama Stratejileri<\/h2>\n<p>H\u0131z s\u0131n\u0131rlama stratejileri, uygulaman\u0131z\u0131n gereksinimlerine g\u00f6re de\u011fi\u015febilir. Baz\u0131 yayg\u0131n stratejiler \u015funlard\u0131r:<\/p>\n<ul>\n<li><b>Sabit pencere:<\/b> Belirli bir zaman dilimi boyunca izin verilen istek say\u0131s\u0131n\u0131 s\u0131n\u0131rlar. \u00d6rne\u011fin, 1 dakika i\u00e7inde 10 istek.<\/li>\n<li><b>Kayan pencere:<\/b> Belirli bir zaman dilimi i\u00e7indeki istekleri izler ve belirli bir s\u00fcre i\u00e7indeki istek say\u0131s\u0131na g\u00f6re s\u0131n\u0131rlar. \u00d6rne\u011fin, son 10 saniye i\u00e7inde 5 istek.<\/li>\n<li><b>Token kovas\u0131:<\/b> Belirli bir s\u00fcre i\u00e7inde doldurulan bir token kovas\u0131 kullanarak, istekleri belirli bir h\u0131zla i\u015flemeye izin verir. <\/li>\n<\/ul>\n<h2>Sonu\u00e7<\/h2>\n<p>Redis ile h\u0131z s\u0131n\u0131rlama, Golang API&#8217;nizin g\u00fcvenli\u011fini sa\u011flamak i\u00e7in olmazsa olmaz bir uygulamad\u0131r.  H\u0131z s\u0131n\u0131rlama stratejileri, uygulaman\u0131z\u0131n gereksinimlerine g\u00f6re de\u011fi\u015febilir.  Bu makale, Redis ile h\u0131z s\u0131n\u0131rlama konusunda size temel bir anlay\u0131\u015f kazand\u0131rmay\u0131 ama\u00e7lam\u0131\u015ft\u0131r. Daha fazla bilgi edinmek i\u00e7in Redis ve Golang kaynaklar\u0131n\u0131 inceleyebilirsiniz.<\/p>\n<p>H\u0131z s\u0131n\u0131rlama, g\u00fcvenlik ve performans i\u00e7in \u00f6nemlidir. API&#8217;nizin g\u00fcvenli ve verimli \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak i\u00e7in bu teknikleri kullanmay\u0131 d\u00fc\u015f\u00fcn\u00fcn.  Daha fazla bilgi ve uygulama \u00f6rne\u011fi i\u00e7in kendi web sitemi <a href=\"https:\/\/fatihsoysal.com\">Fatih Soysal<\/a> ziyaret edebilirsiniz.<\/p>\n<p>#Etiketler<br \/>\nH\u0131z S\u0131n\u0131rlama, Golang API, Redis, G\u00fcvenlik, Performans, Uygulama, API, Token Kovas\u0131, Kayan Pencere, Sabit Pencere<\/p>\n","protected":false},"excerpt":{"rendered":"Golang API&#8217;nizi Redis ile H\u0131z S\u0131n\u0131rlama Bu makalede, Golang API&#8217;nizi Redis kullanarak nas\u0131l h\u0131z s\u0131n\u0131rland\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz.&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1],"tags":[],"class_list":{"0":"post-3690","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-genel","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Golang API&#039;nizi Redis ile H\u0131z S\u0131n\u0131rlama<\/title>\n<meta name=\"description\" content=\"Bu makalede, Golang API&#039;nizi Redis kullanarak nas\u0131l h\u0131z s\u0131n\u0131rland\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz. H\u0131z s\u0131n\u0131rlama, bir API&#039;ye yap\u0131lan istek say\u0131s\u0131n\u0131 belirli bir zaman dilimi i\u00e7erisinde s\u0131n\u0131rlayarak, k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131c\u0131lardan kaynaklanan a\u015f\u0131r\u0131 y\u00fcklenmeyi ve kaynak t\u00fckenmesini \u00f6nlemek i\u00e7in gerekli bir uygulamad\u0131r.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Golang API&#039;nizi Redis ile H\u0131z S\u0131n\u0131rlama\" \/>\n<meta property=\"og:description\" content=\"Bu makalede, Golang API&#039;nizi Redis kullanarak nas\u0131l h\u0131z s\u0131n\u0131rland\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz. H\u0131z s\u0131n\u0131rlama, bir API&#039;ye yap\u0131lan istek say\u0131s\u0131n\u0131 belirli bir zaman dilimi i\u00e7erisinde s\u0131n\u0131rlayarak, k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131c\u0131lardan kaynaklanan a\u015f\u0131r\u0131 y\u00fcklenmeyi ve kaynak t\u00fckenmesini \u00f6nlemek i\u00e7in gerekli bir uygulamad\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2024-11-12T07:45:11+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Golang API&#8217;nizi Redis ile H\u0131z S\u0131n\u0131rlama\",\"datePublished\":\"2024-11-12T07:45:11+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/\"},\"wordCount\":725,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/#respond\"]}],\"copyrightYear\":\"2024\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/\",\"name\":\"Golang API'nizi Redis ile H\u0131z S\u0131n\u0131rlama\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2024-11-12T07:45:11+00:00\",\"description\":\"Bu makalede, Golang API'nizi Redis kullanarak nas\u0131l h\u0131z s\u0131n\u0131rland\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz. H\u0131z s\u0131n\u0131rlama, bir API'ye yap\u0131lan istek say\u0131s\u0131n\u0131 belirli bir zaman dilimi i\u00e7erisinde s\u0131n\u0131rlayarak, k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131c\u0131lardan kaynaklanan a\u015f\u0131r\u0131 y\u00fcklenmeyi ve kaynak t\u00fckenmesini \u00f6nlemek i\u00e7in gerekli bir uygulamad\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Golang API&#8217;nizi Redis ile H\u0131z S\u0131n\u0131rlama\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Golang API'nizi Redis ile H\u0131z S\u0131n\u0131rlama","description":"Bu makalede, Golang API'nizi Redis kullanarak nas\u0131l h\u0131z s\u0131n\u0131rland\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz. H\u0131z s\u0131n\u0131rlama, bir API'ye yap\u0131lan istek say\u0131s\u0131n\u0131 belirli bir zaman dilimi i\u00e7erisinde s\u0131n\u0131rlayarak, k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131c\u0131lardan kaynaklanan a\u015f\u0131r\u0131 y\u00fcklenmeyi ve kaynak t\u00fckenmesini \u00f6nlemek i\u00e7in gerekli bir uygulamad\u0131r.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/","og_locale":"tr_TR","og_type":"article","og_title":"Golang API'nizi Redis ile H\u0131z S\u0131n\u0131rlama","og_description":"Bu makalede, Golang API'nizi Redis kullanarak nas\u0131l h\u0131z s\u0131n\u0131rland\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz. H\u0131z s\u0131n\u0131rlama, bir API'ye yap\u0131lan istek say\u0131s\u0131n\u0131 belirli bir zaman dilimi i\u00e7erisinde s\u0131n\u0131rlayarak, k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131c\u0131lardan kaynaklanan a\u015f\u0131r\u0131 y\u00fcklenmeyi ve kaynak t\u00fckenmesini \u00f6nlemek i\u00e7in gerekli bir uygulamad\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2024-11-12T07:45:11+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"4 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Golang API&#8217;nizi Redis ile H\u0131z S\u0131n\u0131rlama","datePublished":"2024-11-12T07:45:11+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/"},"wordCount":725,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/#respond"]}],"copyrightYear":"2024","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/","url":"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/","name":"Golang API'nizi Redis ile H\u0131z S\u0131n\u0131rlama","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2024-11-12T07:45:11+00:00","description":"Bu makalede, Golang API'nizi Redis kullanarak nas\u0131l h\u0131z s\u0131n\u0131rland\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frenece\u011fiz. H\u0131z s\u0131n\u0131rlama, bir API'ye yap\u0131lan istek say\u0131s\u0131n\u0131 belirli bir zaman dilimi i\u00e7erisinde s\u0131n\u0131rlayarak, k\u00f6t\u00fc ama\u00e7l\u0131 kullan\u0131c\u0131lardan kaynaklanan a\u015f\u0131r\u0131 y\u00fcklenmeyi ve kaynak t\u00fckenmesini \u00f6nlemek i\u00e7in gerekli bir uygulamad\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/golang-apinizi-redis-ile-hiz-sinirlama\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Golang API&#8217;nizi Redis ile H\u0131z S\u0131n\u0131rlama"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/3690","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=3690"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/3690\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=3690"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=3690"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=3690"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}