redis常用操作
连接redis进行交互式命令 redis-cli -h 127.0.0.1 -p 6379
redis键的通用操作
set hello world 插入键值对
get hello 获得键为hello的值
keys * 查询所有键
dbsize 数据库键值对的数量
expire hello 30 设置键hello的超时时间为30S 30S后自动删除hello的键值对。
ttl hello 查看hello的有效时间 入股为-2 代表已经删除
type hello 显示hello的值类型。
object encoding mylist 查询该键对应值的底层编码类型
redis键的string值的操作
设置String值
set key value [ex seconds] [px milliseconds] [nx|xx]
set my values ex 60 xx
ex seconds:设置秒级过期时间
px milliseconds 设置毫秒级过期时间
nx 键必须不存在才可以设置成功(添加数据使用)
xx 键必须存在才可以设置成功(修改数据使用)
setex key value
setnx key value
获取值
get key
删除值
del key
批量操作
mset key value key2 value2 … 批量设置值
mset a 1 b 2 c 3 d 4
mget key key 2 … 批量获取值
mget a b c d
del key1 key 2 …批量删除值
其他命令
incr key 值自增
decr key 自减
apend key value 向尾部追加值
strlen len 获取该键对应值的字符串长度。
getset key value设置并返回原值。
setrange key offeset value 设置指定位置的字符
redis的hash操作
与直接使用键值对不同
hash一般用来表示关系型数据库的表中的某一行数据
hset key(表名:id) field(对应字段名) value(对应字段值)
hash设置值
hset user:1 name lycx
hset user:1 name oysl 设置单个的值
hash获取值
hget key field 获取单个的值
hmget user:1 name password age xxx 获取多个值,如没有对应值则输出(nil)
hvals key 获取key对应的所有value 不包括filed
hgetall key 获取key对应的filed-value一般不推荐使用,hash元素多是可能阻塞redis,一般用hscan命令代替
hash删除值
hdel key filed 删除单个值
hdel key filed1 filed2 …删除多个值
hash其他操作命令
hlen field 计算field的个数
hexists user:1 xxx 判断iled是否存在,存在返回1,不存在返回0
hstrlen user:1 age 计算对应值的长度