Advertisement
DRVTiny

redis_and_msgpack

Mar 26th, 2018
335
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.72 KB | None | 0 0
  1. require "redis"
  2. require "msgpack"
  3.  
  4. class Location
  5.   MessagePack.mapping({
  6.     lat: Float64,
  7.     lng: Float64,
  8.   })
  9. end
  10.  
  11. class House
  12.   MessagePack.mapping({
  13.     address:  String,
  14.     location: {type: Location, nilable: true},
  15.   })
  16. end
  17. r=Redis.new
  18. mpdata={"address" => "Crystal дорога раз-два-3-4!", "location" => {"lat" => 12.3, "lng" => 34.5}}.to_msgpack
  19. puts "MPDATA:\n#{mpdata}"
  20. mpdata_s=String.new(mpdata)
  21. puts "MPDATA_S:\n#{mpdata_s.to_slice}"
  22. r.set("mpdata", mpdata_s)
  23. mpobj=r.get("mpdata")
  24. puts "MPOBJ.class=#{mpobj.class}"
  25. if mpobj.is_a?(String)
  26.     puts "MPOBJ (str):\n#{mpobj}"
  27.     puts "MPOBJ (slice):\n#{mpobj.to_slice}"
  28.     house = House.from_msgpack(mpobj.to_slice)
  29. end
  30. p house
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement