code: def update_columns(attrs)
        redis.multi do
          attrs.each do |attr, value|
            if self.class.fields.has_key?(attr)
              write_attribute(attr, value)  
              redis.hset(key_for(:attributes), attr, self.class.transform(:to, attr, value)) unless new_record?
            end
  
            if self.class.lists.has_key?(attr)
              write_list(attr, value)       
  
              unless new_record?
                redis.del(key_for(attr))
                redis.rpush(key_for(attr), value) unless value.empty?
              end
            end
  
            if self.class.hashes.has_key?(attr)
              write_hash(attr, value)       
  
              unless new_record?
                hash_as_args = hash_to_redis(value)
                redis.hmset(key_for(attr), *hash_as_args)
              end
            end
          end
        end
      end
docs: Update fields without hitting the callbacks