字符串命令
set name fsq 设置name的值为fsq,如果存在name会覆盖。
setnx name fsq 不存在name则设置,如果存在不会覆盖
setex haircolor 10 red 设置超时10秒,10秒后此健值对失效
mset key1 fsq1 key2 fsq 设置多个
msetnx key2 fsq2 key3 fsq3 不存在则设置,防止覆盖
setrange name 8 gmail.com 设置name的值,从第8个字符开始,逐个字符设置,如果后边的字符串比gmail.com长,则继续保留
get key1 获取值
getset name fsq_new 设置name的值,并返回之前的值
getrange name 0 6 获取下标0 到 6范围内的字符串
getrange name -7 -1 获取最后7个字符
mget key1 key2 key3 同时获取多个值
incr age age自增1
incrby age 5 age增5
decr age age减1
decrby age 5 age减5
incrby age -5 age减5
append name @126.com 为name追加字符串
strlen name 获取字符串长度
hash 操作:
hset myhash field1 Hello 设置myhash这个hash表中的键值
hsetnx myhash field value1 不存在则设置,防止覆盖
hmset myhash field1 Hello field2 World 一次设置多个键值
hget myhash field1 获取值
hmget myhash field1 field2 field3 一次获取多个值
hincrby myhash field3 -8 myhash表中的field3减8
hexists myhash field1 判断是否存在
hlen myhash 获取hash表长度,即元素个数
hdel myhash field1 删除键值
hkeys myhash 获取所有健
hvals myhash 获取所有值
hgetall myhash 获取所有键值
list操作
lpush mylist "hello" 头部添加字符串元素
lrange mylist 0 -1 取mylist的内容
rpush mylist2 "hello" 尾部添加字符串元素
linsert mylist3 before "world" "there" 前边插入
lset mylist4 0 "four" 设置下标为0的元素值
lset mylist4 -2 "five"
lrem mylist5 2 "hello" 删除从头开始的两个 hello
lrem mylist6 -2 "hello" 删除从尾开始的两个hello
lrem mylist7 0 "hello" 为0 删除全部hello
ltrim mylist8 1 -1 保留下标 1 到 -1范围内的元素,其余元素删除
lpop mylist 从list的头部弹出元素,即返回并删除元素
rpop mylist2 从list的尾部弹出元素,即返回并删除元素
rpoplpush mylist5 mylist6 从第一个list的尾部移除元素并添加到第二个list的头部并返回被移除的元素值
lindex mylist5 0 返回下标为0的元素
llen mylist5 list长度
其他键值相关命令
keys * 取出当前所有的key
exists name 查看n是否有name这个key
del name 删除key name
expire confirm 100 设置confirm这个key100秒过期
ttl confirm 获取confirm 这个key的有效时长
select 0 选择到0数据库 redis默认的数据库是0~15一共16个数据库
move confirm 1 将当前数据库中的key移动到其他的数据库中,这里就是把confire这个key从当前数据库中移动到1中
persist confirm 移除confirm这个key的过期时间
randomkey 随机返回数据库里面的一个key
rename key2 key3 重命名key2 为key3
type key2 返回key的数据类型
服务器相关命令
ping PONG返回响应是否连接成功
echo 在命令行打印一些内容
select 0~15 编号的数据库
quit /exit 退出客户端
dbsize 返回当前数据库中所有key的数量
info 返回redis的相关信息
config get dir/* 实时传储收到的请求
flushdb 删除当前选择数据库中的所有key
flushall 删除所有数据库中的数据库
其他redis操作
修改密码:编辑配置文件添加以下内容,不设置密码可直接导致远程获取系统管理员权限(写入ssh公钥)
requirepass pass123
或者执行命令:
config set requirepass pass123
查看当前密码
config get requirepass
登录:连接成功后执行以下命令,如果没认证执行查询命令会提示 (error) ERR operation not permitted
auth pass123
连接时直接携带密码:但是不安全、会保存在history记录里,如果.bash_history泄露会泄露密码
redis-cli -p 6379 -a test123
后台启动:修改配置文件
daemonize yes
主从配置:修改从服务器的配置文件 设置主服务器的 ip 端口 密码,设置好后可通过info命令查看
slaveof 192.168.1.123 6379
masterauth pass123