Change Redis metadata key prefix to rs:m

This commit is contained in:
Garret Alfert
2016-03-02 18:04:38 +01:00
parent 88f2dceb27
commit c2fd9bc6d0
3 changed files with 37 additions and 37 deletions

View File

@@ -87,11 +87,11 @@ module RemoteStorage
lua_script = <<-EOF
local user = ARGV[1]
local directory = ARGV[2]
local items = redis.call("smembers", "rsm:"..user..":"..directory.."/:i")
local items = redis.call("smembers", "rs:m:"..user..":"..directory.."/:i")
local listing = {}
for index, name in pairs(items) do
local redis_key = "rsm:"..user..":"
local redis_key = "rs:m:"..user..":"
if directory == "" then
redis_key = redis_key..name
else
@@ -121,7 +121,7 @@ module RemoteStorage
end
def get_directory_listing_from_redis(user, directory)
etag = redis.hget "rsm:#{user}:#{directory}/", "e"
etag = redis.hget "rs:m:#{user}:#{directory}/", "e"
none_match = (server.env["HTTP_IF_NONE_MATCH"] || "").split(",").map(&:strip)
server.halt 304 if none_match.include? etag
@@ -313,7 +313,7 @@ module RemoteStorage
end
-- check for existing directory with the same name as the document
local redis_key = "rsm:"..user..":"
local redis_key = "rs:m:"..user..":"
if directory == "" then
redis_key = redis_key..key.."/"
else
@@ -324,12 +324,12 @@ module RemoteStorage
end
for index, dir in pairs(parent_directories) do
if redis.call("hget", "rsm:"..user..":"..dir.."/", "e") then
if redis.call("hget", "rs:m:"..user..":"..dir.."/", "e") then
-- the directory already exists, no need to do further checks
return false
else
-- check for existing document with same name as directory
if redis.call("hget", "rsm:"..user..":"..dir, "e") then
if redis.call("hget", "rs:m:"..user..":"..dir, "e") then
return true
end
end
@@ -401,9 +401,9 @@ module RemoteStorage
end
def update_metadata_object(user, directory, key, metadata)
redis_key = "rsm:#{user}:#{directory}/#{key}"
redis_key = "rs:m:#{user}:#{directory}/#{key}"
redis.hmset(redis_key, *metadata)
redis.sadd "rsm:#{user}:#{directory}/:i", key
redis.sadd "rs:m:#{user}:#{directory}/:i", key
true
end
@@ -418,10 +418,10 @@ module RemoteStorage
etag = etag_for(get_response.body)
end
key = "rsm:#{user}:#{dir}/"
key = "rs:m:#{user}:#{dir}/"
metadata = {e: etag, m: timestamp}
redis.hmset(key, *metadata)
redis.sadd "rsm:#{user}:#{parent_directory_for(dir)}:i", "#{top_directory(dir)}/"
redis.sadd "rs:m:#{user}:#{parent_directory_for(dir)}:i", "#{top_directory(dir)}/"
end
true
@@ -436,9 +436,9 @@ module RemoteStorage
end
def delete_metadata_objects(user, directory, key)
redis_key = "rsm:#{user}:#{directory}/#{key}"
redis_key = "rs:m:#{user}:#{directory}/#{key}"
redis.del(redis_key)
redis.srem "rsm:#{user}:#{directory}/:i", key
redis.srem "rs:m:#{user}:#{directory}/:i", key
end
def delete_dir_objects(user, directory)
@@ -449,8 +449,8 @@ module RemoteStorage
unless dir == ""
do_delete_request("#{url_for_directory(user, dir)}/")
end
redis.del "rsm:#{user}:#{directory}/"
redis.srem "rsm:#{user}:#{parent_directory_for(dir)}:i", "#{dir}/"
redis.del "rs:m:#{user}:#{directory}/"
redis.srem "rs:m:#{user}:#{parent_directory_for(dir)}:i", "#{dir}/"
else
unless dir == ""
res = do_put_request("#{url_for_directory(user, dir)}/", timestamp.to_s, "text/plain")
@@ -460,14 +460,14 @@ module RemoteStorage
etag = etag_for(get_response.body)
end
metadata = {e: etag, m: timestamp}
redis.hmset("rsm:#{user}:#{dir}/", *metadata)
redis.hmset("rs:m:#{user}:#{dir}/", *metadata)
end
end
end
def dir_empty?(user, dir)
if directory_backend(user).match(/new/)
redis.smembers("rsm:#{user}:#{dir}/:i").empty?
redis.smembers("rs:m:#{user}:#{dir}/:i").empty?
else
do_get_request("#{container_url_for(user)}/?format=plain&limit=1&path=#{escape(dir)}/") do |res|
return res.headers[:content_length] == "0"