redis的操作对redis的操作可以用两种方式,第一种方式采用redis-cli,第二种方式采用编程语言,比如Python、PHP和JAVA等。
使用redis-cli对redis进行字符串操作:
启动redis:
sudo service redis-server start
redis-server:
redis-cli -h [ip] -p [端口]
添加:
set key value
如:
set username xiaotuo
将字符串值value关联到key。如果key已经持有其他值,set命令就覆写旧值,无视其类型。并且默认的过期时间是永久,即永远不会过期。
删除:
del key
如:
del username
设置过期时间:
expire key timeout(单位为秒)
也可以在设置值的时候,一同指定过期时间:
set key value EX timeout
或:
setex key timeout value
查看过期时间:
ttl key
如:
ttl username
查看当前redis中的所有key:
keys *
列表操作:
在列表左边添加元素:
lpush key value
将值value插入到列表key的表头。如果key不存在,一个空列表会被创建并执行lpush操作。当key存在但不是列表类型时,将返回一个错误。
在列表右边添加元素:
rpush key value
将值value插入到列表key的表尾。如果key不存在,一个空列表会被创建并执行RPUSH操作。当key存在但不是列表类型时,返回一个错误。
查看列表中的元素:
lrange key start stop
返回列表key中指定区间内的元素,区间以偏移量start和stop指定,如果要左边的第一个到最后的一个lrange key 0 -1。
移除列表中的元素:
key的头元素:
lpop key
rpop key
移除并返回列表key的中间元素:
lrem key count value
将删除key这个列表中,count个值为value的元素。
指定返回第几个元素:
lindex key index
将返回key这个列表中,索引为index的这个元素。
获取列表中的元素个数:
llen key
如:
llen languages
删除指定的元素:
lrem key count value
如:
lrem languages 0 php
根据参数 count 的值,移除列表中与参数 value 相等的元素。count的值可以是以下几种:
value相等的元素,数量为count。value相等的元素,数量为count的绝对值。value 相等的值。set集合的操作:
sadd set value1 value2....
如:
sadd team xiaotuo datuo
smembeers set
如:
smembers team
srem set member...
如:
srem team xiaotuo datuo
scard set
如:
scard team1
sinter set1 set2
如:
sinter team1 team2
sunion set1 set2
如:
sunion team1 team2
sdiff set1 set2
如:
sdiff team1 team2
hash哈希操作:
添加一个新值:
hset key field value
如:
hset website baidu baidu.com
将哈希表key中的域field的值设为value。
如果key不存在,一个新的哈希表被创建并进行 HSET操作。如果域 field已经存在于哈希表中,旧值将被覆盖。
获取哈希中的field对应的值:
hget key field
如:
hget website baidu
删除field中的某个field:
hdel key field
如:
hdel website baidu
获取某个哈希中所有的field和value:
hgetall key
如:
hgetall website
获取某个哈希中所有的field:
hkeys key
如:
hkeys website
获取某个哈希中所有的值:
hvals key
如:
hvals website
判断哈希中是否存在某个field:
hexists key field
如:
hexists website baidu
获取哈希中总共的键值对:
hlen field
如:
hlen website
事务操作:Redis事务可以一次执行多个命令,事务具有以下特征:
开启一个事务:
multi
以后执行的所有命令,都在这个事务中执行的。
执行事务:
exec
会将在multi和exec中的操作一并提交。
取消事务:
discard
会将multi后的所有命令取消。
监视一个或者多个key:
watch key...
监视一个(或多个)key,如果在事务执行之前这个(或这些) key被其他命令所改动,那么事务将被打断。
取消所有key的监视:
unwatch
发布/订阅操作:
publish channel message
subscribe channel
原文:https://www.cnblogs.com/xshan/p/12236577.html