redis 数据库常用指令
源代码安装及配置:
redis:
cd redis-3.2.11先去这个目录
make && make install 先要下载 源代码构建安装
配置:
cp redis-3.2.11/redis myredis
vim myredis:
添加密码:
/requirepass
# requirepass foobared 改为 requirepass xxxxxx (#去掉#)
auth xxxxxxx(进入时输入)
绑定IP:
/bind
bind 127.0.0.1 + 私有ip
启动配置后的redis:
方法1:redis-server myredis.conf &——表示启动服务器加了&表示去后台运行
方法2:redis-server myredis.conf > hello.log &——把所有输出放到文件里这样会显示进程号
fg %1 —— 把刚才放到的后台放到前台
测试及启动
测试:
ping 正常连接后返回 pong
keys *
启动本地客户端:
redis-cli
auth password(进入时输入)
访问指定ip指定port的redis服务器:
redis-cli --help
redis-cli -h xxx.xxx.xxx.xxx -p 6379 -s -a -r -i
redis 五大类型:
字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset)
判断values类型: type key
五大类型的基本操作
string:
set p 1 设置p的值为1
get p 获取p的值 默认是0
incr p 整数递增(默认为整数)
decr p 整数减少
incrby p 5 在原来的基础上加5(整数)
decrby p 3 在原来的基础上减3(整数)
incrbyfloat o 2.2 在原来的基础上增加2.2(小数)
set u 5
append u 5 追加:u变为55
set m 123456789
getrange m 0 -1 利用下标取全部
getrange m 0 5 利用下标取值[0:5]
del p 删除p
mset w 1 e 2 q 3 同时赋值多个变量
mget w e q
hash:
设置值:
hset xiaoshuo name 111
hset xiaosuuo auth 444
hset xiaoshuo desc 888
hgetall xiaosho 获取所有的值
hget xiaoshuo auth 获取单个key(auth)的值:
hkeys xiaoshuo 获取所有key
hvals xiaoshuo 获取所有value
hdel xiaoshuo name 删除一组k-v
list:双向列表
lpush it coco hhh ccc 向it中左插入coco hhh ccc
lrange it 0 -1 返回列表it
rpush it qq momo tantan 向it中右插入qq momo tantan
lrange it 0 -1
type it 查看it类型
lpop it 删除左边一个
rpop it 删除右边一个
llen it 返回长度
set:
sadd u 1
sadd u 2 3 6 2 给u设置值,会自动去重
scard u 返回u中元素个数
smembers u 查看集合u所有值
spop u 随机删除一个
zset:有序集合 自动从小到大排序
zadd g 10 m1
zadd g 1 m2
zadd g 9 m3
zadd g 5 m4
zadd g 12 m5 设置值
zscore g m1 返回g中m1的指定值
zrange g 0 -1 返回g所有值
zrevrange g 0 -1 倒序返回(从大到小)
五大类型的常用操作
增
set mykey "test" 为键设置新值,并覆盖原有值
getset mycounter 0 设置值,取值同时进行
setex mykey 10 "hello" 设置指定 Key 的过期时间为10秒,在存活时间可以获取value
setnx mykey "hello" 若该键不存在,则为键设置新值
mset key3 "stephen" key4 "liu" 批量设置键
删
del mykey 删除已有键
改
append mykey "hello" 若该键并不存在,返回当前 Value 的长度
若该键已经存在,返回追加后 Value的长度
incr mykey 值增加1,若该key不存在,创建key,初始值设为0,增加后结果为1
decrby mykey 5 值减少5
setrange mykey 20 dd 把第21和22个字节,替换为dd, 超过value长度,自动补0
查
exists mykey 判断该键是否存在,存在返回 1,否则返回0
get mykey 获取Key对应的value
strlen mykey 获取指定 Key 的字符长度
ttl mykey 查看一下指定 Key 的剩余存活时间(秒数)
getrange mykey 1 20 获取第2到第20个字节,若20超过value长度,则截取第2个和后面所有的的
mget key3 key4 批量获取键