{"id":17494,"date":"2025-04-08T02:30:16","date_gmt":"2025-04-07T23:30:16","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/"},"modified":"2025-04-08T02:30:16","modified_gmt":"2025-04-07T23:30:16","slug":"node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/","title":{"rendered":"Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma"},"content":{"rendered":"<p><body><\/p>\n<p>Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma<\/p>\n<p>Merhaba!  Bu makalede, Node.js ve Redis kullanarak basit bir ziyaret\u00e7i sayac\u0131 nas\u0131l olu\u015fturabilece\u011finizi ad\u0131m ad\u0131m g\u00f6sterece\u011fim.  \u00d6ncelikle,  neden Node.js ve Redis&#8217;i tercih etti\u011fimi a\u00e7\u0131klayay\u0131m. Node.js,  non-blocking, event-driven mimarisi sayesinde y\u00fcksek performansl\u0131 web uygulamalar\u0131 geli\u015ftirmek i\u00e7in idealdir.  \u00d6te yandan, Redis,  in-memory veri taban\u0131 olarak,  h\u0131zl\u0131 veri okuma ve yazma i\u015flemleri sa\u011flar.  Bu ikisinin birle\u015fimi,  h\u0131zl\u0131 ve \u00f6l\u00e7eklenebilir bir ziyaret\u00e7i sayac\u0131 olu\u015fturmam\u0131z\u0131 sa\u011flayacakt\u0131r.<\/p>\n<p>\u0130lk ad\u0131m\u0131m\u0131z,  projemizi kurmak.  Bunun i\u00e7in \u00f6ncelikle Node.js ve npm&#8217;nin (Node Package Manager) sisteminize kurulu oldu\u011fundan emin olmal\u0131s\u0131n\u0131z.  Ard\u0131ndan,  yeni bir proje klas\u00f6r\u00fc olu\u015fturup i\u00e7ine  <code>npm init -y<\/code> komutu ile bir <code>package.json<\/code> dosyas\u0131 olu\u015ftural\u0131m.  Bu dosya, projemizin ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131 y\u00f6netecektir. Sonras\u0131nda,  Redis ve Express.js ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131  <code>npm install redis express<\/code> komutu ile ekleyelim.<\/p>\n<pre><code class=\"language-bash\">\nnpm init -y\nnpm install redis express\n<\/code><\/pre>\n<p>\u015eimdi,  ana uygulama dosyam\u0131z\u0131 (\u00f6rne\u011fin, <code>index.js<\/code>) olu\u015ftural\u0131m.  Bu dosyada,  Redis ba\u011flant\u0131m\u0131z\u0131 kuracak,  bir sayac\u0131 art\u0131racak ve ziyaret\u00e7i say\u0131s\u0131n\u0131 g\u00f6sterecek basit bir Express.js uygulamas\u0131 yazaca\u011f\u0131z.  \u0130\u015fte kod \u00f6rne\u011fi:<\/p>\n<pre><code class=\"language-javascript\">\nconst express = require('express');\nconst redis = require('redis');\n\nconst app = express();\nconst client = redis.createClient();\n\nclient.on('error', (err) => console.error('Redis Client Error', err));\n\napp.get('\/', async (req, res) => {\n  try {\n    await client.connect();\n    let count = await client.incr('visitorCount');\n    res.send(Toplam ziyaret\u00e7i say\u0131s\u0131: ${count});\n  } catch (error) {\n    console.error(error);\n    res.status(500).send('Sunucu hatas\u0131.');\n  } finally {\n    await client.disconnect();\n  }\n});\n\napp.listen(3000, () => console.log('Sunucu 3000 portunda \u00e7al\u0131\u015f\u0131yor.'));\n<\/code><\/pre>\n<p>Bu kodda,  <code>redis.createClient()<\/code> ile Redis&#8217;e ba\u011flan\u0131yoruz.  <code>client.incr('visitorCount')<\/code> ile &#8216;visitorCount&#8217; adl\u0131 bir anahtar\u0131n de\u011ferini 1 art\u0131r\u0131yoruz.  E\u011fer anahtar daha \u00f6nce yoksa,  Redis otomatik olarak olu\u015fturur ve de\u011ferini 1 yapar.  Son olarak,  Express.js ile gelen iste\u011fe toplam ziyaret\u00e7i say\u0131s\u0131n\u0131 g\u00f6steren bir yan\u0131t g\u00f6nderiyoruz.  Ayr\u0131ca hata y\u00f6netimi ve ba\u011flant\u0131 kapatma i\u015flemlerine dikkat etmekte fayda var.<\/p>\n<p>Uygulamay\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in,  terminalde <code>node index.js<\/code> komutunu \u00e7al\u0131\u015ft\u0131rman\u0131z yeterli olacakt\u0131r.  Ard\u0131ndan,  taray\u0131c\u0131n\u0131zda  <code>http:\/\/localhost:3000<\/code> adresine giderek ziyaret\u00e7i sayac\u0131n\u0131 test edebilirsiniz. Her ziyaretinizde sayac\u0131n artt\u0131\u011f\u0131n\u0131 g\u00f6receksiniz.  Bu basit \u00f6rnek,  Node.js ve Redis&#8217;in g\u00fcc\u00fcn\u00fc g\u00f6stermektedir.  Daha geli\u015fmi\u015f \u00f6zellikler ekleyerek bu sayac\u0131 daha da geli\u015ftirebilirsiniz.  \u00d6rne\u011fin,  g\u00fcnl\u00fck, haftal\u0131k veya ayl\u0131k ziyaret\u00e7i say\u0131lar\u0131n\u0131 ayr\u0131 ayr\u0131 takip edebilirsiniz.<\/p>\n<p>Bu uygulamada,  hata y\u00f6netimi ve ba\u011flant\u0131 kapatma i\u015flemleri \u00f6nemlidir.  Kodda g\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi,  <code>try...catch...finally<\/code> blo\u011fu kullanarak olas\u0131 hatalar\u0131 yakalay\u0131p,  ba\u011flant\u0131y\u0131 d\u00fczg\u00fcnce kapat\u0131yoruz.  Bu,  uygulaman\u0131n g\u00fcvenilirli\u011fini art\u0131r\u0131r. Ayr\u0131ca,  Redis&#8217;in sundu\u011fu di\u011fer fonksiyonlar\u0131 ke\u015ffetmek faydal\u0131 olacakt\u0131r.  Daha karma\u015f\u0131k uygulamalar i\u00e7in Redis&#8217;in sundu\u011fu veri yap\u0131lar\u0131 ve komutlar\u0131 b\u00fcy\u00fck kolayl\u0131k sa\u011flayacakt\u0131r.<\/p>\n<p>Daha detayl\u0131 bilgi ve \u00f6rnekler i\u00e7in,  Redis ve Node.js belgelerine g\u00f6z atabilirsiniz.  Ayr\u0131ca,  kendi web sitenizi geli\u015ftirmek i\u00e7in  <a href=\"https:\/\/fatihsoysal.com\">fatihsoysal.com<\/a> adresini ziyaret edebilirsiniz.  Umar\u0131m bu makale,  Node.js ve Redis ile basit bir ziyaret\u00e7i sayac\u0131 olu\u015fturman\u0131zda size yard\u0131mc\u0131 olmu\u015ftur.<\/p>\n<p>Bu makalede, Redis ve Node.js&#8217;in birlikte nas\u0131l kullan\u0131laca\u011f\u0131 ad\u0131m ad\u0131m anlat\u0131lm\u0131\u015ft\u0131r.  Ancak,  bu sadece ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.  Daha ileri seviye projeler i\u00e7in daha karma\u015f\u0131k senaryolar\u0131 ele alman\u0131z gerekebilir.  Bu konuda daha fazla bilgi edinmek i\u00e7in <a href=\"https:\/\/dev.to\/arbythecoder\/build-a-simple-visitor-counter-with-me-using-nodejs-and-redis-6d2\">buray\u0131<\/a> ziyaret edebilirsiniz.<\/p>\n<p>#Etiketler: Node.js, Redis, Ziyaret\u00e7i Sayac\u0131, Web Geli\u015ftirme, Programlama, Tutorial, \u00d6rnek Kod,  Javascript, Express.js,  Redis Ba\u011flant\u0131s\u0131, Hata Y\u00f6netimi<\/p>\n<p><\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma Merhaba! Bu makalede, Node.js ve Redis kullanarak basit bir&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-17494","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>Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma<\/title>\n<meta name=\"description\" content=\"Merhaba! Bu makalede, Node.js ve Redis kullanarak basit bir ziyaret\u00e7i sayac\u0131 nas\u0131l olu\u015fturabilece\u011finizi ad\u0131m ad\u0131m g\u00f6sterece\u011fim. \u00d6ncelikle, neden Node.js ve Redis&#039;i tercih etti\u011fimi a\u00e7\u0131klayay\u0131m. Node.js, non-blocking, event-driven mimarisi sayesinde y\u00fcksek performansl\u0131 web uygulamalar\u0131 geli\u015ftirmek i\u00e7in idealdir. \u00d6te yandan, Redis, in-memory veri taban\u0131 olarak, h\u0131zl\u0131 veri okuma ve yazma i\u015flemleri sa\u011flar. Bu ikisinin birle\u015fimi, h\u0131zl\u0131 ve \u00f6l\u00e7eklenebilir bir ziyaret\u00e7i sayac\u0131 olu\u015fturmam\u0131z\u0131 sa\u011flayacakt\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\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma\" \/>\n<meta property=\"og:description\" content=\"Merhaba! Bu makalede, Node.js ve Redis kullanarak basit bir ziyaret\u00e7i sayac\u0131 nas\u0131l olu\u015fturabilece\u011finizi ad\u0131m ad\u0131m g\u00f6sterece\u011fim. \u00d6ncelikle, neden Node.js ve Redis&#039;i tercih etti\u011fimi a\u00e7\u0131klayay\u0131m. Node.js, non-blocking, event-driven mimarisi sayesinde y\u00fcksek performansl\u0131 web uygulamalar\u0131 geli\u015ftirmek i\u00e7in idealdir. \u00d6te yandan, Redis, in-memory veri taban\u0131 olarak, h\u0131zl\u0131 veri okuma ve yazma i\u015flemleri sa\u011flar. Bu ikisinin birle\u015fimi, h\u0131zl\u0131 ve \u00f6l\u00e7eklenebilir bir ziyaret\u00e7i sayac\u0131 olu\u015fturmam\u0131z\u0131 sa\u011flayacakt\u0131r.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-07T23:30:16+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=\"3 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma\",\"datePublished\":\"2025-04-07T23:30:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/\"},\"wordCount\":575,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/\",\"name\":\"Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-04-07T23:30:16+00:00\",\"description\":\"Merhaba! Bu makalede, Node.js ve Redis kullanarak basit bir ziyaret\u00e7i sayac\u0131 nas\u0131l olu\u015fturabilece\u011finizi ad\u0131m ad\u0131m g\u00f6sterece\u011fim. \u00d6ncelikle, neden Node.js ve Redis'i tercih etti\u011fimi a\u00e7\u0131klayay\u0131m. Node.js, non-blocking, event-driven mimarisi sayesinde y\u00fcksek performansl\u0131 web uygulamalar\u0131 geli\u015ftirmek i\u00e7in idealdir. \u00d6te yandan, Redis, in-memory veri taban\u0131 olarak, h\u0131zl\u0131 veri okuma ve yazma i\u015flemleri sa\u011flar. Bu ikisinin birle\u015fimi, h\u0131zl\u0131 ve \u00f6l\u00e7eklenebilir bir ziyaret\u00e7i sayac\u0131 olu\u015fturmam\u0131z\u0131 sa\u011flayacakt\u0131r.\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma\"}]},{\"@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":"Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma","description":"Merhaba! Bu makalede, Node.js ve Redis kullanarak basit bir ziyaret\u00e7i sayac\u0131 nas\u0131l olu\u015fturabilece\u011finizi ad\u0131m ad\u0131m g\u00f6sterece\u011fim. \u00d6ncelikle, neden Node.js ve Redis'i tercih etti\u011fimi a\u00e7\u0131klayay\u0131m. Node.js, non-blocking, event-driven mimarisi sayesinde y\u00fcksek performansl\u0131 web uygulamalar\u0131 geli\u015ftirmek i\u00e7in idealdir. \u00d6te yandan, Redis, in-memory veri taban\u0131 olarak, h\u0131zl\u0131 veri okuma ve yazma i\u015flemleri sa\u011flar. Bu ikisinin birle\u015fimi, h\u0131zl\u0131 ve \u00f6l\u00e7eklenebilir bir ziyaret\u00e7i sayac\u0131 olu\u015fturmam\u0131z\u0131 sa\u011flayacakt\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\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/","og_locale":"tr_TR","og_type":"article","og_title":"Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma","og_description":"Merhaba! Bu makalede, Node.js ve Redis kullanarak basit bir ziyaret\u00e7i sayac\u0131 nas\u0131l olu\u015fturabilece\u011finizi ad\u0131m ad\u0131m g\u00f6sterece\u011fim. \u00d6ncelikle, neden Node.js ve Redis'i tercih etti\u011fimi a\u00e7\u0131klayay\u0131m. Node.js, non-blocking, event-driven mimarisi sayesinde y\u00fcksek performansl\u0131 web uygulamalar\u0131 geli\u015ftirmek i\u00e7in idealdir. \u00d6te yandan, Redis, in-memory veri taban\u0131 olarak, h\u0131zl\u0131 veri okuma ve yazma i\u015flemleri sa\u011flar. Bu ikisinin birle\u015fimi, h\u0131zl\u0131 ve \u00f6l\u00e7eklenebilir bir ziyaret\u00e7i sayac\u0131 olu\u015fturmam\u0131z\u0131 sa\u011flayacakt\u0131r.","og_url":"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-04-07T23:30:16+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"3 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma","datePublished":"2025-04-07T23:30:16+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/"},"wordCount":575,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/","url":"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/","name":"Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-04-07T23:30:16+00:00","description":"Merhaba! Bu makalede, Node.js ve Redis kullanarak basit bir ziyaret\u00e7i sayac\u0131 nas\u0131l olu\u015fturabilece\u011finizi ad\u0131m ad\u0131m g\u00f6sterece\u011fim. \u00d6ncelikle, neden Node.js ve Redis'i tercih etti\u011fimi a\u00e7\u0131klayay\u0131m. Node.js, non-blocking, event-driven mimarisi sayesinde y\u00fcksek performansl\u0131 web uygulamalar\u0131 geli\u015ftirmek i\u00e7in idealdir. \u00d6te yandan, Redis, in-memory veri taban\u0131 olarak, h\u0131zl\u0131 veri okuma ve yazma i\u015flemleri sa\u011flar. Bu ikisinin birle\u015fimi, h\u0131zl\u0131 ve \u00f6l\u00e7eklenebilir bir ziyaret\u00e7i sayac\u0131 olu\u015fturmam\u0131z\u0131 sa\u011flayacakt\u0131r.","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/node-js-ve-redis-ile-basit-bir-ziyaretci-sayaci-olusturma\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Node.js ve Redis ile Basit Bir Ziyaret\u00e7i Sayac\u0131 Olu\u015fturma"}]},{"@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\/17494","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=17494"}],"version-history":[{"count":0,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/17494\/revisions"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=17494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=17494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=17494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}