运维开发网

redis数据库操作

运维开发网 https://www.qedev.com 2020-06-13 09:56 出处:网络 作者:运维开发网整理
redis是存储数据变化较快的并且不是总要的数据 安装: wget http://download.redis.io/releases/redis-5.0.0.tar.gz tar -zxvf redis-5.0.0.tar.gz yum install gcc yum install gcc-c++ make && make install cp src/redis-server /usr/bi

redis是存储数据变化较快的并且不是总要的数据

安装:

wget http://download.redis.io/releases/redis-5.0.0.tar.gz

tar -zxvf redis-5.0.0.tar.gz

yum install gcc

yum install gcc-c++

make && make install

cp src/redis-server /usr/bin/

cp src/redis-cli /usr/bin/

启动 cd redis-5.0.0

redis-server redis.conf

配置文件参数:

daemonize yes

关闭

redis-cli shutdown

13、设置密码

因为这是给局域网内的很多人使用,所以设置一个访问密码很有必要。

修改redis.conf文件配置 

使用命令 :/ requirepass 快速查找到 # requirepass foobared 然后去掉注释,这个foobared改为自己的密码。然后wq保存。

sudo service redis restart  这个时候尝试登录redis,发现可以登上,但是执行具体命令是提示操作不允许

1. redis-cli -h 127.0.0.1 -p 6379  

2. redis 127.0.0.1:6379>  

3. redis 127.0.0.1:6379> keys *  

4. (error) ERR operation not permitted  

尝试用密码登录并执行具体的命令看到可以成功执行

1. redis-cli -h 127.0.0.1 -p 6379 -a password

2. redis 127.0.0.1:6379> keys *

3. 1) "myset"  

4. 2) "mysortset"  

5. redis 127.0.0.1:6379> select 1  

6. OK  

 

bind 127.0.0.1 (192.168.126.8)#对外提供链接的地址

port 6379 #默认端口号

daemonize no #守护进程(如果是yes后台运行)

databases 16 #(redis数据库用0,1,2,3....代表)

save 900 1 #每900秒有1次增删改操作就同步到磁盘当中

dbfilename dump.rdb #rdb备份方式的文件名字(默认开启)

dir ./ #备份文件存放位置

appendonly no #aof备份是否开启(默认不开启)

appendfilename "appendonly.aof" #aof备份文件名称

appendfsync everysec #aof同步机制,每秒同步到磁盘当中

链接命令

redis-cli -h 127.0.0.1 -p 6379

切换用户

127.0.0.1:6379> SELECT 1

OK

127.0.0.1:6379[1]>

默认是0

字符串

添加:

127.0.0.1:6379[1]> set name zxw

OK

查看key

127.0.0.1:6379[1]> keys *

1) "name"

查看values

127.0.0.1:6379[1]> get name

"zxw"

设置过期时间

127.0.0.1:6379[1]> set name zxw ex 10

OK

127.0.0.1:6379[1]> get name

"zxw"

删除:

127.0.0.1:6379> del name

(integer) 1

 

列表

在列最上边添加元素:

添加到第一位

127.0.0.1:6379> lpush lan c++

(integer) 5

127.0.0.1:6379> lrange lan 0 -1

1) "c++"

2) "zxw"

3) "jave"

4) "python"

5) "zhao"

移除最上元素:

127.0.0.1:6379> lpop lan

"c++"

查看列表中的元素:

127.0.0.1:6379> lrange lan 0 -1 初始0 -1全局

1) "java"

2) "python"

 

在列表最下添加元素:

127.0.0.1:6379> rpush lan zxw

(integer) 4

127.0.0.1:6379> LRANGE lan 0 -1

1) "c++"

2) "java"

3) "python"

4) "zxw"

删除最底那个

127.0.0.1:6379> rpop lan

“zxw"

查看列表里几个元素

127.0.0.1:6379> llen lan

(integer) 4

127.0.0.1:6379> lrange lan 0 -1

1) "zxw"

2) "jave"

3) "python"

4) "zhao"

指定返回第几个元素:

127.0.0.1:6379> lindex lan 0

"zxw"

127.0.0.1:6379> lindex lan 1

"jave"

127.0.0.1:6379> lindex lan 0

"zxw"

127.0.0.1:6379> lindex lan 1

"jave"

删除指定的元素几次:

127.0.0.1:6379> lrange lan 0 -1

4) "zxw"

5) "zxw"

6) "jave"

7) "python"

8) "zhao"

127.0.0.1:6379> lrem lan 1 zxw

(integer) 3

127.0.0.1:6379> lrange lan 0 -1

2) "zxw"

3) "jave"

4) "python"

5) "zhao"

集合

添加元素去重:

127.0.0.1:6379> sadd lan jave python c++ zxw zxw

(integer) 4

查看元素:

127.0.0.1:6379> smembers lan

1) "jave"

2) "python"

3) "zxw"

4) "c++"

移除元素:

127.0.0.1:6379> srem lan jave

(integer) 1

查看集合中的元素个数:

127.0.0.1:6379> scard lan

(integer) 3

127.0.0.1:6379> SMEMBERS lan

1) "python"

2) "zxw"

3) "c++"

获取多个集合的交集:

127.0.0.1:6379> SMEMBERS lan

1) "python"

2) "c++"

3) "zxw"

127.0.0.1:6379> SMEMBERS lan2

1) "jave"

2) "python"

127.0.0.1:6379> SINTER lan lan2

1) "python"

获取多个集合的并集:

127.0.0.1:6379> SUNION lan lan2

1) "jave"

2) "python"

3) "zxw"

4) "c++"

获取多个集合的差集:以前为基准

127.0.0.1:6379> SDIFF lan lan2

1) "zxw"

2) "c++"

哈希

添加一个新值:

127.0.0.1:6379> hset zxw high 175

(integer) 1

获取哈希中的field对应的值:

127.0.0.1:6379> hget zxw high

"175"

删除:

127.0.0.1:6379> hdel zxw high

(integer) 1

获取某个哈希中所有的key:values

127.0.0.1:6379> hgetall zxw

1) "gender"

2) "nan"

获取某个哈希中所有的key

127.0.0.1:6379> HKEYS zxw

1) "gender"

2) "high"

获取某个哈希中所有的values:

127.0.0.1:6379> HVALS zxw

1) "nan"

2) "175"

判断哈希中是否存在某个field:

127.0.0.1:6379> HEXISTS zxw high

(integer) 1

获取哈希中总共的键值对:

127.0.0.1:6379> HLEN zxw

(integer) 2

事物操作:Redis事务可以一次执行多个命令,事务具有以下特征:

隔离操作:事务中的所有命令都会序列化、按顺序地执行,不会被其他命令打扰。

原子操作:事务中的命令要么全部被执行,要么全部都不执行。

开启一个事务:multi

提交事务:exec

回滚事务:discard

0

精彩评论

暂无评论...
验证码 换一张
取 消