Redis安装和简单使用
1.安装gcc:
yum install gcc
2.解压redis-rz:
tar -zxvf redis-rz
3.进入redis目录,输入命令:
make
4.等运行完毕,输入命令:
make install
5.完成,以上操作,进入**/usr/local/bin/**下,不难发现,已经下载好许多关于redis的文件 ,
6.redis的使用流程时,启动服务然后,连接服务,
启动服务:需要redis-server 和 redis.conf两个文件,但是我们使用的redis.conf文件不是 /usr/local/bin/目录下的,我们使用的时redis安装位置下的redis.conf 文件,
7.需改redis.conf文件
daemonize no 修改成 daemonize yes
8.启动redis
/usr/local/bin目录下的 redis-server 和 redis安装位置下,已经修改过的redis.conf文件
/usr/local/bin/redis-server /usr/local/src/redis/redis.conf
9.查看连接
ps -ef | grep redis
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ItyhM43Q-1665805857142)(E:\Typora\img\image-20220514200759610.png)]
10.连接使用
/usr/local/bin/redis-cli -p 6379
简单实用:
总共有16个数据库
字符串 String ==> [key] [value]
**set [key] [value]**创建
type[key] 产看类型
**expire [key]**给key设置过期时间
ttl [key] 产看还有多少秒过期
del [key] 删除
**select [1-16]**切换数据库
dbsize查看有多少key
get key产看value
**keys ***产看所有的key
flushdb/flushall清空当前/所有数据库
append [key] 给value追加
strln 获得值的长度
setnx 只有在Key不存在时 设置value的值 ,如果key存在,则value设置失败
incr [key] [count] 对value的值进行加n,,如果没有写n 则默认加1
decr [key] [count] 对value的值进行减n,如果没有写n 则默认减1
mset 同时设置多个key value
mget 同时获得多个key value
msetnx 同时设置多个key value 当且仅当key都不存在
getrange [key] [start end] 获得某个key的start-end的字符串
setex [key] [time] [value] 在设置值的同时设置过期时间
getset [key] [value] 以新值换旧值
List 列表
lpush [key] [value] [vlue] 创建/添加 数据 从左侧开始
rpush [key] [value] [value] 创建添加数据 从右侧开始
lrange [key] [start end] 获取List索引n-l的值,获取全部值 lrange [key] 0 -1
lpop [key] [count] 从key中左侧吐出值默认为1,吐出之后,key 对应的value值会消失,全部消失之后,key也会消失
rpop [key] [count] 从key中右侧吐出值默认为1,吐出之后,key 对应的value值会消失,全部消失之后,key也会消失
lindex [key] [index] 获取某个索引处的值
llen [key] 获得List的长度
lrem [key] [n] [value] 从左边删除n个value
lset [key] [index] [value] 修改index处的数据
Set 集合【无序】【成员唯一】
sadd [key] [value1] [value2] 设置
smembers [key] 取出该集合的所有值
sismember [key] [member] 查看集合中是否存在member这个数据
scard [key] 返回该集合的元素个数
srem [key] 删除集合中的某个元素
spop [key] 随机从集合中吐出一个值
srandmember [key] [n] 随机从集合中取出n个值,不会从集合中删除
sinter [key1] [key2] 取两个集合的交集
sunion [key1] [key2] 返回两个集合的并集
sdiff [key1] [key2] 返回两个集合的差集,key1中的,不包含key2中的
Hash
存储以下数据{id,name,age}
结构
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4X55abWP-1665805857143)(E:\Typora\img\image-20220516174137449.png)]
取值直接 user id , user name
key field value
命令
hset [key] [field] [value] 创建hash=>hset user id 1 name zhangsan age 20
hget [key] [field] [value] 获得数据
hmget [key] [fidld] [fidld] 获得一堆数据
hexists [key] [field] 查看哈希表中是否存在 field
hkeys [key] 列出hash集合中的所有field
hvals 列出 hash 所有的value
**hincrby [key] [field] [increment] ** 给hash加field的数量
hsetnx [key] [field] [value] 将key中的field的值设置为value 当且仅当域field不存在
Zset 【有序】【不重复】
简介:没有重复值,每个成员都关联了一个评分,集合的成员是唯一的,但评分可以重复
**zadd [s1] [key1] [s2] [key2] ** 添加会以s(评分)的大小进行升序排序
zrange [key] [start] [end] 查看
zrange [key] [start] [end] withscores 评分也一起返回
zrangebysore [key] [min] [max] 返回评分在min 到max之间的内容,也可以添加withscores连评分一起返回
**zincrby [key] [pingfen] [value] ** 增加value的数量
zcount [key] [min] [max] 统计在这个分数之间的元素个数
zrank [key] [value] 返回该值在集合中的排名,从0开始
[min] [max]** 返回评分在min 到max之间的内容,也可以添加withscores连评分一起返回
**zincrby [key] [pingfen] [value] ** 增加value的数量
zcount [key] [min] [max] 统计在这个分数之间的元素个数
zrank [key] [value] 返回该值在集合中的排名,从0开始