Fórum Root.cz
Hlavní témata => Vývoj => Téma založeno: Janus 20. 09. 2018, 16:58:38
-
Zdravim,
mam 5 hodnot, ktere prubezne potrebuji aktualizovat, zobrazovat. Nejlepe podle klic->hodnota. Existuje nejaka vhodna metoda na misto zakladani databaze?
Diky
-
Zdravim,
mam 5 hodnot, ktere prubezne potrebuji aktualizovat, zobrazovat. Nejlepe podle klic->hodnota. Existuje nejaka vhodna metoda na misto zakladani databaze?
Budeš muset asi lépe definovat zadání.
Snad máš na mysli že chceš uchovávat 5 hodnot, a databázi ti přijde příliš. Tak to ukládej do souboru? Pro klíč hodnota to může být ini formát -> parse_ini_file(). Osobně bych spíše zvolil json (json_decode) čistě pro moje pohodlí.
-
V zaveru budu volat pres exec v php skript, kterej to udela... Sice je to sracka, ale jde jenom o aktualizaci 5 hodnot a nechce se mi vytvaret extra tabule...
KEY=$(echo $2 | tr -cd '[:alnum:]')
REPLACEBY=$(echo $3 | tr -cd '[:alnum:]' )
COMMAND=$(echo $1 | tr -cd '[:alnum:]' )
DBFILE=test.db
function update(){
if grep -qw ${KEY} ${DBFILE}; then
val=$(grep ${KEY} ${DBFILE})
sed -i 's/'${val}'/'${KEY}'='${REPLACEBY}'/g' $DBFILE
exit 0
else
echo "ERROR: Invalid key to search"
exit 1
fi
}
if [ -z $COMMAND ]; then
echo "ERROR: arguments expected"
exit 1
fi
if [ ! -f ${DBFILE} ]; then
echo "ERROR: DB file ${DBFILE} doesn't exist"
exit 1
fi
if [ $COMMAND == "update" ]; then
update
fi
-
::)
-
no tak se jeste kouknu na to parse_ini_file
-
Načtené hodnoty asi budeš mít v nějakém poli.
Nejjednodušší opravdu bude přes json_encode() pole převést na řetězec, ten uložit do souboru.
A při zobrazování opačně načíst obsah souboru a použít na získaný string json_decode() - a máš zpět pole s hodnotami.
Stejně by šla použít i dvojice funkcí serialize() / deserialize(), jen to bude v serializované podobě vypadat mailnko jinak než json. Používám tohle při ukládání objektů do session.
-
Když už to děláš v shellu, vyzkoušej příkaz sqlite3, který ti umožní persistovat data v jednom souboru podle nějakého klíče.
Pokud je to moc komplikované, můžeš zkusit další jednoduché souborové databáze DB4, Tokyo Cabinet, TDB apod.
-
Když už to děláš v shellu, vyzkoušej příkaz sqlite3, který ti umožní persistovat data v jednom souboru podle nějakého klíče.
Pokud je to moc komplikované, můžeš zkusit další jednoduché souborové databáze DB4, Tokyo Cabinet, TDB apod.
Na pět hodnot?
-
Má to bejt persistentní přes restart?
Jestli ne kuk sem, asi nejrychlejší http://php.net/manual/en/function.shm-attach.php
Jestli ano, tak buď jak psal Kit sqlite3, nebo jestli je i to kanón na vrabce, tak http://php.net/manual/en/function.dba-open.php optimálně asi přes gdbm.
K té prasárně s scriptem přes exec - co to udělá když to víceméně současně pustěj 2 klienti na 2 jádrech?