Guest User

Untitled

a guest
May 25th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.65 KB | None | 0 0
  1. ### MemCache
  2. # memcache-client 1.5.0
  3. def set(key, value, expiry = 0, raw = false)
  4. raise MemCacheError, "Update of readonly cache" if @readonly
  5. server, cache_key = request_setup key
  6. socket = server.socket
  7.  
  8. value = Marshal.dump value unless raw
  9. command = "set #{cache_key} 0 #{expiry} #{value.size}\r\n#{value}\r\n"
  10.  
  11. begin
  12. @mutex.lock if @multithread
  13. socket.write command
  14. result = socket.gets
  15. raise MemCacheError, $1.strip if result =~ /^SERVER_ERROR (.*)/
  16. rescue SocketError, SystemCallError, IOError => err
  17. server.close
  18. raise MemCacheError, err.message
  19. ensure
  20. @mutex.unlock if @multithread
  21. end
  22. end
Add Comment
Please, Sign In to add comment