redis常用操作、安全设置和慢查询日志以及存储session

**

一.常用操作

**
redis value值类型:string,list,set,sorted set,hsah。

  • set命令:没有增加,有则覆盖
127.0.0.1:6379> set key1 ligen
OK
127.0.0.1:6379> get key1
"ligen"
127.0.0.1:6379> set key1 li
OK
127.0.0.1:6379> get key1
"li"
  • setnx命令:

查询是否存在,存在返回0,不存在则创建。

127.0.0.1:6379> SETNX key1 2  
(integer) 0
127.0.0.1:6379> get key1
"li"
127.0.0.1:6379> setnx key2 22
(integer) 1
127.0.0.1:6379> get key2
"22"
  • setex:

设置过期时间,若key已经存在,会覆盖新的值:

127.0.0.1:6379> setex key2 10 6   #过期时间10s
OK
127.0.0.1:6379> get key2
"6"
127.0.0.1:6379> get key2
(nil)
  • mset :设置一个或多个值对
127.0.0.1:6379> mset k1 1 k2 2 k3 3
OK
127.0.0.1:6379> mget k1 k2 k3
1) "1"
2) "2"
3) "3"
  • lpush:从左边开始插入元素,若再次加入,不会覆盖,而是添加
127.0.0.1:6379> lpush list1 aaa bbb
(integer) 2
127.0.0.1:6379> LRANGE list1 0 -1
1) "bbb"
2) "aaa"
  • lpop:从左侧取出第一个元素:
127.0.0.1:6379> LPOP list1
"bbb"
127.0.0.1:6379> LRANGE list1 0 -1
1) "aaa"
  • rpop:从右边开始取出元素:
127.0.0.1:6379> lpush list1 11 22 33 44 55
(integer) 6
127.0.0.1:6379> LRANGE list1 0 -1
1) "55"
2) "44"
3) "33"
4) "22"
5) "11"
6) "aaa"
127.0.0.1:6379> rpop list1
"aaa"
  • linsert:插入
127.0.0.1:6379> LINSERT list1 before 55 00
(integer) 6
127.0.0.1:6379> LRANGE list1 0 -1
1) "00"
2) "55"
3) "44"
4) "33"
5) "22"
6) "11"
127.0.0.1:6379> LINSERT list1 after 00 000
(integer) 7
127.0.0.1:6379> LRANGE list1 0 -1
1) "00"
2) "000"
3) "55"
4) "44"
5) "33"
6) "22"
7) "11"
  • lset 修改:
127.0.0.1:6379> lset list1 0 0
OK
127.0.0.1:6379> LRANGE list1 0 -1
1) "0"
2) "000"
3) "55"
4) "44"
5) "33"
6) "22"
7) "11"
  • lindex :查询某下标对应的值
127.0.0.1:6379> LINDEX list1 4
"33"
  • llen:查询列表有多少个值:
127.0.0.1:6379> LLEN list1
(integer) 7

集合:

  • sadd :想集合中加入元素
127.0.0.1:6379> sadd set1 aaa bbb ccc
(integer) 3
  • smember:查询集合元素
127.0.0.1:6379> SMEMBERS set1
1) "ccc"
2) "bbb"
3) "aaa"
  • srem:删除集合中的元素
127.0.0.1:6379> srem set1 aaa bbb
(integer) 2
127.0.0.1:6379> SMEMBERS set1
1) "ccc"
  • spop:随机取出一个元素
127.0.0.1:6379> sadd set1 eee fff ooo
(integer) 3
127.0.0.1:6379> SMEMBERS set1
1) "ooo"
2) "ccc"
3) "fff"
4) "eee"
127.0.0.1:6379> spop set1
"ccc"
  • sdiff:求差集,以前面一个集合为标准
127.0.0.1:6379> SMEMBERS set2
1) "ooo"
2) "bbb"
3) "r"
4) "yyy"
5) "dd"
6) "d"
7) "a"
8) "aaa"
127.0.0.1:6379> SMEMBERS set1
1) "ooo"
2) "fff"
3) "eee"
127.0.0.1:6379> SDIFF set1 set2
1) "fff"
2) "eee"
  • sdiffstore:求差集并且存储
127.0.0.1:6379> SDIFFstore set3 set1 set2 
(integer) 2
127.0.0.1:6379> SMEMBERS set3
1) "fff"
2) "eee"
  • sinter:求交集
127.0.0.1:6379> SINTER set1 set2
1) "ooo"
  • sinterstore:求交集并存储,同sdiffstore。
  • sunion:求并集,同sinter。
  • sunionstore:同sinterstore。

有序集合:

  • zadd:创建有序集合
127.0.0.1:6379> zadd zset1 1 aaa 33 ccc 2 c
(integer) 3
  • zrange:查看,按scores排列。
127.0.0.1:6379> ZRANGE zset1 0 -1
1) "aaa"
2) "c"
3) "ccc"
  • zrange,带上-withscores:可以查询scores:
127.0.0.1:6379> ZRANGE zset1 0 -1 withscores
1) "aaa"
2) "1"
3) "c"
4) "2"
5) "ccc"
6) "33"
  • zrem:删除元素
127.0.0.1:6379> zrem zset1 c
(integer) 1
  • zrank:返回元素的索引值
127.0.0.1:6379> zrank zset1 aaa
(integer) 0
  • zrevrank:同上,按score反向排序查询。
127.0.0.1:6379> zrevrank zset1 aaa
(integer) 1
  • zcore:返回集合中所有元素的个数
127.0.0.1:6379> zcard zset1
(integer) 2
  • zcount:返回分值范围的元素个数:
127.0.0.1:6379> zcount zset1 1 10
(integer) 1
  • zrangebyscore:返回分值范围1-10的元素值
127.0.0.1:6379> ZRANGEBYSCORE zset1 0 40
1) "aaa"
2) "ccc"
  • zremrangebyscore:删除sroce范围内的元素
127.0.0.1:6379> ZRANGEBYSCORE zset1 1 10
1) "aaa"

zremrangebyrank:删除索引范围内的元素

127.0.0.1:6379> ZREMRANGEBYRANK zset1 1 40
(integer) 1

hash

  • hget:创建hash
127.0.0.1:6379> hset hash1 age 20
(integer) 1
  • hmget:创建多个
127.0.0.1:6379> hmset hash2 aa 11 bb 22
OK
  • hdel:删除指定的filed
127.0.0.1:6379> hdel hash2 aa
(integer) 1
127.0.0.1:6379> hgetall hash2
1) "bb"
2) "22"
  • hkeys打印所有key,hvals打印所有的values:
127.0.0.1:6379> hkeys hash2
1) "bb"
127.0.0.1:6379> hvals hash2
1) "22"

**

redis操作键值

查询所有keys:

keys *

模糊匹配:

127.0.0.1:6379> keys zs*
1) "zset1"

查询是否存在key:

  • exists,存在返回1,不存在0
127.0.0.1:6379> EXISTS zset1
(integer) 1

删除keys:

127.0.0.1:6379> del zset1
(integer) 1
127.0.0.1:6379> EXISTS zset1
(integer) 0

设置过期时间和查询:

  • expire和ttl,-2表示过期,-1表示永远不过期
 127.0.0.1:6379> EXPIRE set3 100
(integer) 1
127.0.0.1:6379> ttl set3
(integer) 94

选择数据库:

  • select,默认为0
 127.0.0.1:6379> select 1
OK

把keys移动到其他库:

  • move
 127.0.0.1:6379> move k2 1
(integer) 1
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> keys *
1) "k2"
2) "hash1"

取消过期时间:

  • persist
127.0.0.1:6379[1]> PERSIST k2
(integer) 0

随机返回一个key:

  • randomkey
127.0.0.1:6379[1]> RANDOMKEY 
"hash1"

重命名一个key:

  • rename
127.0.0.1:6379> rename k3 k1
OK

查看键的类型:

  • type
127.0.0.1:6379> type k1
string

返回keys数目:

  • dbsize

127.0.0.1:6379> DBSIZE 
(integer) 6

返回redis数据库状态信息:

 info

清空当前数据库所有的键:

  • flushdb
127.0.0.1:6379> flushdb 
OK
127.0.0.1:6379> keys *
(empty list or set)

清空左右数据库中的所有key:

 flushall

保存数据到rdb文件中,在后台运行:

bgsave   #save是在前台运行

获取所有配置参数:

config get *
config get dir #获取某个配置参数
config set dir #更改参数

关闭redis:

redis-cli shutdown

启动:

redis-server /etc/redis.conf

**

二.安全设置

**
编辑配置文件

vim /etc/redis.conf
  • 设置密码
requirepass 123457  #123457为自己修改的密码

登入:

redis-cli -a '123457'
  • 修改端口port:
  port 6379  #可以改成自己的
  • 将config命令改名:
  # rename-command CONFIG ""    #把#去掉,双引号里填写自己改的名字,若是只把#号去掉,表示禁用config

**

三.redis慢查询日志

**
关于慢查询日志的参数:

lowlog-log-slower-than 10000   #执行时长,单位微秒。
slowlog-max-len 128    #日志长度多少条,超过128将删除最老的日志

查询慢日志,只能用命令行的形式查看:

127.0.0.1:6379> SLOWLOG get
127.0.0.1:6379> SLOWLOG get 1  #查看最新的一条
127.0.0.1:6379> SLOWLOG len   #查看条数
存储session:

在php-fpm配置文件对应的pool中增加:

php_value[session.save_handler]=redis
php_value[session.save_path]="tcp://127.0.0.1:6379"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值