sql >> Database >  >> NoSQL >> Redis

Hoe moet ik een array in redis opslaan?

als je object ondiep is, kun je hash gebruiken voor elk item en een lijst voor de array

een lijstsleutel gebruiken voor de naam van de itemsleutels itemlist hash gebruiken voor het opslaan van actuele gegevens in een sleutel zoals item:1

const data = [
    {
        id: 1,
        nombre: 'cualquier',
        descripcion: 'descripción muy especifica',
        monto: '100000',
        fecha: '2019-10-16',
        estado: true
    },
    {
        id: 2,
        nombre: 'conjunto autosustentable',
        descripcion:
            'es un proyecto creado para favorecer al medio ambiente y reducir costos de estilo de vida',
        monto: '15000',
        fecha: '2019-12-16',
        estado: true
    },
    {
        id: 3,
        nombre: 'cultivo autosustentable',
        descripcion:
            'el objetivo es reducir el costo de producción de alimento y favorecer el medio ambiente',
        monto: '190000000',
        fecha: '2019-12-16',
        estado: true
    }
]

// using ioredis lib in this example
// saving it to redis

for (let i = 0; i < data.length; i++) {
    const item = data[i]
    await redis.hmset('item:${item.id}', item)
    await redis.lpush('itemlist', `item:${item.id}`)
}

// getting it back from redis: first geet the keys ; then get all the data
const keys = await redis.lrange('itemlist', 0, -1) // 0, -1 => all items

const p = redis.pipeline()
for (let i = 0; i < keys.length; i++) {
    const key = keys[i];
    p.hgetall(key)
}
const resp = await p.exec()



  1. MongoDB - Het argument voor $size moet een Array zijn, maar was van het type:EOO / missing

  2. golang + redis concurrency scheduler prestatieprobleem

  3. Hoe stel ik een Elasticache Redis-cluster in als een slaaf?

  4. Hoe maak je een Mongo Docker-afbeelding met standaardverzamelingen en -gegevens?