# A way to cache the contents of the roam buffer?

**URL:** <https://org-roam.discourse.group/t/a-way-to-cache-the-contents-of-the-roam-buffer/3745>\
**Category:** Requests\
**Created:** [February 18, 2025, 4:16pm UTC](https://org-roam.discourse.group/t/a-way-to-cache-the-contents-of-the-roam-buffer/3745 "2025-02-18T16:16:39Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![akashp](https://yyz2.discourse-cdn.com/free1/user_avatar/org-roam.discourse.group/akashp/32/1383_2.png) [@akashp](https://org-roam.discourse.group/u/akashp)\
**Post date:** [February 19, 2025, 11:58pm UTC](https://org-roam.discourse.group/t/a-way-to-cache-the-contents-of-the-roam-buffer/3745/8 "2025-02-19T23:58:52Z")

</div>

@bradmont

Not, really but update the code then, I am giving you a more streamlined code block, replace the previous one with this

```auto
(defvar org-roam-buffer-last-node nil
  "Stores the last visited Org-roam node for delayed redisplay.")

(defun org-roam-buffer--scheduled-redisplay-h ()
  (and (get-buffer-window org-roam-buffer)
       (org-roam-buffer--scheduled-fn)))

(defun org-roam-buffer--scheduled-fn ()
  (when-let ((node (org-roam-node-at-point)))
    (unless (equal node org-roam-buffer-last-node)
      (setq org-roam-buffer-last-node node)
      (run-with-idle-timer 1 nil #'org-roam-buffer-persistent-redisplay))))

(defun org-roam-buffer--scheduled-persistent-cleanup-h ()
  (setq org-roam-buffer-last-node nil))

(advice-add 'org-roam-buffer--redisplay-h :override #'org-roam-buffer--scheduled-redisplay-h)
(advice-add 'org-roam-buffer--persistent-cleanup-h :after #'org-roam-buffer--scheduled-persistent-cleanup-h)

```

---

_[View the full topic](https://org-roam.discourse.group/t/a-way-to-cache-the-contents-of-the-roam-buffer/3745)._
