1、redis的启动
-
服务端启动
-
redis-server
-
-
客户端启动
-
redis-cli 英文启动,不支持中文
-
redis-cli --raw 中文启动,支持中文
-
2、redis的基本操作
-
ping
-
测试与redis服务器是否来联通
-
-
select
-
选择数据库,redis默认有16个数据库 从0到15
-
select 1 选择1号数据库
-
select 5 选择5号数据库
-
select 0 选择0号数据库
-
登录到redis客户端,如果没有任何操作,默认选择的时0号数据库
-
-
3、redis键值对说明
-
redis 是 key-value 的数据结构,每条数据都是一个键值对
-
键(key)的类型永远是 string 类型
-
值(value)的类型有 5 种
-
字符串 string
-
哈希 hash
-
列表 list
-
无序集合 set
-
有序集合 zset
-
4、字符串操作
添加修改值
-
set 键 值
-
如果键不存在,就是添加
-
如果键存在,就是修改
-
set user1 aaa # 添加一个键的值为 aaa set user1 bbb # 把键 user1 的值修改为 bbb
-
setex 键 过期时间 值
-
过期时间单位为秒
-
setex user2 3 bbb # 添加一个键 user2 值为 bbb ,过期时间为 3 秒
-
添加多个键值对
-
mset 键1 值1 键2 值2 ........
-
mset user3 ccc user4 ddd user5 eee #同时添加 3 个键值对
-
在已有的值后面追加值
-
append 键 值
-
append user1 haha # 向键 user1 的后面追加值 haha (user1 本来是 aaa 现在为 :aaahaha)
获取值
-
获取值
-
get 键
get user1 # 获取 user1 对应的值
-
-
一次获取多个值
-
mget 键1 键2 键3
mget user1 user2 user3 # 一次获取多个值
-
删除键和值
-
del 键1 键2 键3......
del user1 user2 user3 # 同时删除user1 user2 user3
5、键相关操作
查找键
-
keys 键名
-
可支持 *
keys user1 # 查找 user1 是否存在 存在 显示user1 不存在 什么都没有 keys * # 显示所有的键
-
判断键是否存在
-
exists 键名
-
如果存在 返回 1
-
如果不存在 返回 0
exists user1 # 判断user1是否存在
-
查看键对应的值的类型
-
type 键名
type user1 # 查看键 user1 的值的类型
设置已经存在的键的过期时间
-
expire 键名 秒数
expire user1 100 # 设置user1 的过期时间为 100 秒
查看键的过期时间
-
ttl 键名
-
-1 永远有效
-
-2 键不存在
-
大于 0 代表有效时间,单位为: 秒
ttl user2
-
6、哈希操作
添加值(或修改值)
-
hset 键名 字段 值
hset huser1 name tom # 增加一个哈希类型的键 键名为 huser1 值为 name - tom (也是一个键值对)
设置多个字段(或修改多个字段)
-
hmset 键名 字段1 值1 字段2 值2......
hmset huser2 name merry sex woman # 增加一个哈希类型的键 键名为 huser2 值为 (name - merry,sex-woman)两个键值对
获取哈希键里面的值
-
hkeys 哈希键
-
获取哈希键里面所有的值
hkeys huser1 # 获取到哈希键对应的所有的字段
-
-
hget 哈希键 字段名
-
获取字段对应的值
hget huser1 name # 获取该哈希键的name字段的值
-
-
hmget 键 字段1 字段2 字段3....
-
hvals 键 (获取所有字段的值)
-
两个都是 获取多个字段的值
hmget huser2 name sex age # 获取 huser2 键 字段 name sex age 的值 hvals huser2 # 获取huser2键所有字段的值
-
-
hgetall 键名
-
获取所有的字段名 和 对应的字段值
hgetall huser2 # 获取huser2 的所有字段和其对应的值
-
删除
-
hdel 键名 字段名
-
删除字段
hdel huser2 age # 删除huser2 的 age 的字段
-
-
del 键名
-
删除哈希键
del huser1 # 删除这个哈希键
-
7、列表
添加
-
从左边添加值
-
lpush 键名 值1 值2 值3 ...
lpush luser1 aaa bbb ccc ddd # 新建一个列表的键,从左边添加值,aaa,bbb,ccc,ddd
-
-
从右侧添加值
-
rpush 键名 值1 值2...
rpush luser1 vvv hhh # 向luser1的右侧添加值
-
-
在值的前面插入值
-
linsert 键名 before 值1 值2
linsert luser1 before vvv kkk # 在luser1 的 vvv 的前面插入值 值为kkk
-
insert 键名 after 值1 值2
linsert luser1 after bbb xxx # 在luser1 的 bbb 后面添加值 xxx
-
获取列表的值
-
返回列表里指定范围内的值 (lrange 键名 开始索引 结束索引)
-
索引从左侧开始,第一个值的索引为 0
-
索引可以为负数,表示从尾部开始计数,如:-1 表示最后个值 ,-2表倒数第二个值...
lrange luser1 0 -1 # 查询luser1 的从第一个到最后一个值 lrange luser1 0 0 # 查询luser1 的第一个值
-
修改值
-
lset 键名 索引 新值
-
修改指定索引的值
lset luser1 1 chain # 修改指定索引的值
-
删除值
-
lrem 键名 count 值
-
将列表中出现 count次数的值删除
-
count > 0 表示 从左往右(从头向尾)开始删除 值 count 个
-
count < 0 表示 从右往左(从尾向头)开始删除 值 count 个
-
count = 0 删除全部
lrem luser1 -1 h1 # 从右往左(从尾向头)开始删除 1 个 值为 h1 lrem luser1 3 h1 # 从左往右(从头向尾)开始删除 3 个 值为 h1 lrem luser1 0 h1 # 删除全部 h1
-
-