问题:通过redis-server启动时,之后不能编写linux命令,需要再次创建链接.造成编码不便
4.1.2 后台启动解除IP绑定
关闭保护模式
开启后台运行
开启后台redis
redis-server redis.conf
ps -ef |grep redis
root 5847 1 0 01:45 ? 00:00:00 redis-server *:6379
root 5852 2571 0 01:45 pts/1 00:00:00 grep redis
4.2 操作redis 4.2.1 进入客户端执行命令:redis-cli
4.3 Redis的操作命令 4.3.1 String 类型操作指令
说明
案例
set
设定key的值
set name tom
get
获取指定 key 的值
get name
strlen
获取key值的长度
strlen name
exists
检查给定 key 是否存在
exists name 返回1存在 0不存在
del
删除指定的key/key1 key2
del name1 name2
keys
命令用于查找所有符合给定模式 pattern 的 key
Keys * 查询全部的key值
Keys n?me 占位符
Keys name* 以name开头的key
mset
赋值多个key-value
mset key1 value1 key2 value2 key3 value3
同时赋值多个值
mget
获取多个key
Mget key1 key2 key3
append
对指定的key进行追加
append key 123456 value123456
append key " 123456" value 123456中间多一个空格
Type
查看key的类型
Type key1
127.0.0.1:6379> TYPE key1string
Flushdb
清空当前数据库
Flushdb 清空数据库
Select
切换数据库
Select 0-15 redis一共有16个数据库
FLUSHALL
清空全部数据库数据
flushall
Incr
自动增长1
Incr num 数据会自动加1
Incr string 数据库会报错
Decr
自动减1
Decr name 数据会自动减1
incrby
指定步长自增
Incrby 2 每次自增2
Decrby
指定步长自减
Decrby 2每次减2
Expire
指定key的失效时间单位是秒(s)
EXPIRE name1 5 5秒后数据失效
Ttl
查看key的剩余存活时间
Ttl name
-2表示失效
-1没有失效时间
Pexpire
设置失效时间(毫秒)
Pexpire name 1000 用于秒杀业务
Persist
撤销失效时间
撤销失效时间
指令
说明
案例
hset
Hset key值 属性名 属性值
Hset user id 1
Hset user name tom
设置id和name的属性值
hget
获取指定 key的属性值
Hget user name 获取name属性值
hmset
Hmset user key value1 key2 value2
hmset user id 1 name tom age 18
hmget
hmget user id name age
hmget user id name age 获取user对象的id,name,age的属性值
hgetall
取出key的全部字段值和属性值
HGETALL user
hdel
删除key的指定字段
删除key的指定字段
Hkeys
查看key的全部字段
HKEYS user
hvals
查看key的全部值
Hvals user
hlen
查看key的字段数
Hlen user 查看user的字段数
4.3.2 Redis集合数据类型
1.字符串类型 String
2.散列类型 hash
3.列表类型 list
4.集合类型 set
5.有序集合类型
1.散列类型
可以通过散列类型用来保存对象和属性的值
例如:user对象 {id:2,name:小明,age:19}
通过散列类型赋值不需要{}
4.3.3 List列表类型
List列表类型(list)是一个存储有序的元素的集合类型.List数据类型底层是一个双端列表.可以从左右分别进行写入操作
指令
说明
案例
lpush
将一个或多个值插入到列表左部插入
LPUSH list1 1 2 3 4
rpush
在列表中添加一个或多个从列表右侧插入
RPUSH list1 5 6 7 8
lpop
从列表左侧移除元素,并且返回结果
LPOP list1
rpop
从列表右侧移除元素,并且返回结果
RPOP list1
llen
获取list集合的元素个数
Llen list1
Lrange
获取指定区间内的片段值
LRANGE list1 0 3
获取从左数第1个到第4个值
LRANGE list1 -3 -1
从右数第三个到第一个数据
Lrange list1 0 -1 查询全部列表数据
Lrem
删除列表中指定的值
Irem key count value
当count>0,从左开始删除前count个值为value的元素
当count<0,从右侧开始删除前count个值为value的元素
当count=0时,删除所有value的元素
LREM list1 2 2
从左数前2个为2的元素
LREM list1 -2 3
从右数前2个为3的元素
LREM list1 0 4
删除全部为4的元素
Lindex
根据指定索引值查询元素
LINDEX list1 0 查找索引值为0的值
LINDEX list1 -1 查询最右边的值
Lset
为指定索引赋值
LSET list1 0 10
LINSERT
LINSERT key before value1 value2
在value1之前插入value2
LINSERT list1 after 1 2
LINSERT list1 before 10 100
从左数第一个为10的元素前插入100
LINSERT list1 after 1 2
从左数第一个为1的值之后插入2
双端列表的数据特点:查询两端数据时速度较快,查询中间数据较慢.
4.3.4 redis集合类型redis支持集合类型,并且每个集合的元素类型都可以不同,并且集合时无序的.
指令
说明
案例
sadd
向集合添加一个或多个成员
sadd set a b c
scard
获取集合的成员数
SCARD set
srem
删除集合的指定元素
SREM set a 删除set中的a元素
smembers
查看集合的所有元素
SMEMBERS set
Sismember
查看元素是否属于集合
SISMEMBER set a 查看a是否属于set集合
sdiff
返回给定所有集合的差集
sinter
返回给定所有集合的交集
sunion
返回所有给定集合的并集
A={1,2,3} B={2,3,4}
SUNION a b = 1,2,3,4