Nit-pick. While this method does things right, I would write it a bit differently. Easier to read, and I think if user sends in collision handler that is not 'callable' they deserve an error raised.

    def sid_collision?(sid)
      prefixed_sid = prefixed(sid)
      if redis.get(prefixed_sid)
        on_sid_collision.call(sid) if on_sid_collision

        true
      else
        false
      end
    end