Самый простой способ сохранить значение в Google App Engine Python? - PullRequest
4 голосов
/ 28 февраля 2010

Я ленивый! И я просто хочу сохранить одно строковое значение. Это все! Могу ли я перепрыгнуть через любое моделирование и просто сохранить значение?

Ответы [ 3 ]

8 голосов
/ 28 февраля 2010

Насколько я знаю, хранилище данных - единственное хранилище, доступное в App Engine. Тем не менее, это не так много кода, даже если вы ленивы. ;)

Убедитесь, что вы импортируете модуль db:

from google.appengine.ext import db

Затем просто сохраните пару ключ / значение (вы можете использовать эту модель для хранения любых других строк, которые вы можете добавить):

class MyData(db.Model):
    myKey = db.StringProperty(required=True)
    myValue = db.StringProperty(required=True)

data = MyData(myKey="Title", myStringValue="My App Engine Application")
data.put()

Вы можете получить его снова с:

db.Query(Entry).filter("myKey=", "Title").get().myStringValue
7 голосов
/ 28 февраля 2010

Решение Mark B хорошо, но вы получите лучшую производительность, если ваш «ключ» будет правильным ключом сущности. Таким образом, вы вдвое сканируете необходимые данные. (В терминах SQL вы будете выбирать по первичному ключу.)

class Global(db.Model):
    val = db.StringProperty()

    @classmethod
    def get(cls, key):
        return cls.get_by_key_name(key).val

    @classmethod
    def set(cls, key, val):
        entity = cls(key_name=key, val=val)
        entity.put()
        return val

Теперь вы можете получить и установить, используя метод класса.

    Global.set('foo', 'this is the value for foo')
    print "The value of foo is: %r" % Global.get('foo')
4 голосов
/ 28 февраля 2010

В зависимости от того, как долго вы хотите хранить информацию, вы также можете использовать memcache:

Импорт:

from google.appengine.api import memcache

Все, что вам нужно знать, чтобы получить и установить данные:

memcache.set("key", value)
value = memcache.get("key")

Если ваши данные нуждаются в долговременном хранении, вам необходимо использовать внутреннее хранилище данных. Рекомендуется использовать как memcache, так и хранилище данных для ваших данных, так как memcache может быть очищен в любое время. Для кратковременной, эфемерной стойкости memcache добивается цели.

Больше информации здесь: http://code.google.com/appengine/docs/python/memcache/usingmemcache.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...