redis基础
Posted 印记XP
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis基础相关的知识,希望对你有一定的参考价值。
一、什么是redis
redis是一个开源的,内存中的数据结构存储系统,key-value的非关系型数据库,它可以作为数据库,缓存和消息中间件,支持持久化。
二、redis的安装和卸载
1.版本为奇数的是不稳定版本。为偶数的是稳定版本。
2.官网下载redis,也可一在linux中使用wget命令下载;wget -P 存放位置 redis的下载路径。
3.在linux下进行解压:tar -xvf redis
4.通过./redis-server 启动redis,要使用客户端连接redis 不能直接在当前窗口中连接,使用Xshell 重新打开一个窗口,进入到redis目录,运行./redis-cli,输入keys *可以查看
5.如果想在同一个窗口启动客户端,需要复制(cp 源文件 目标位置) redsi.conf,然后修改redis.conf中的 daemonize 的值为yes(设置redis为守护进程),此时可以通过 redis-server redis.conf启动redis,然后再启动客户端 ./redis-cli
6.退出redis 可以使用 ps-ef|grep redis 查看redis的端口,然后使用kill 杀死进程 (kill -p 进程id);
7.卸载:直接删除redis 文件即可 (rm -rf redis) 强制删除。
三、redis的数据结构
1.字符串类型:String key是字符串类型,value是字符串类型
启动redis的客户端
set key value
get key 如果不存在key 则返回nil
在redis的官方文档中---命令中包含这些命令
2.哈希:hash
hash类型设置语法:hset 键 field value;一个键可以有很多个field,很适合存储一个对象
eg:一个hash村user键,有name和age两个字段:
hset user name xxx;
hset user age xxx;
hkeys user ;查看这个键有哪些字段
hlen user ;查看这个键的字段长度
hget user name ;获取name的值
3.list
redis支持list数据结构,底层是一个双向链表,允许重复值存在,按照插入顺序保存,可以使用lpush从左边插入,也可以使用rpush从右边插入。lpop从左边弹出,rpop从右边弹出,从而实现FIFO队列思想(先进先出,从左边插入,右边弹出,插入和弹出方向不同,就可以实现。),插入和弹出方向相同,实现栈的思想
eg:
lpush hobbys xxx
lpush hobbys yyy
lpush hobbys zzz
lrange hobbys 0 -1 ; 查看存放的值的个数
rpop hobbys (从右边弹出,实现队列思想---先进先出)
lpop bobbys (从左边弹出,实现栈的思想 --先进后出)
4.set
redsi 的set 是String 类型的无序集合,集合成员是唯一的。这就意味着集合中不能出现重复的数据。
eg:
sadd num 1 插入set集合
sadd num 2
sadd num 3
SMEMBERS num 查看set集合中的数据
spop num 弹出set集合中的数据(弹出来的值是随机的)
5.有序集合 :sorted set
sorted set 是set 的升级,它在set的基础上增加了一个顺序属性。这一属性在修改添加元素的时候可以指定,每次指定后,zset会自动从新按新的值调整顺序。
eg:
zadd person 1 xxx 插入 有序结合
zadd person 2 yyy
zadd person 3 zzz
zrange person 0 -1 查看有序集合中的数据(此时会根据分数排序 zrange person 0 -1 withscores 会把值对应的分数值打印出来)
如果在插入的时候,分数值相同,会根据插入的值进行字典排序
zadd person 3 sss
zadd person 3 ddd
zadd person 3 aaa
zrange person 0 -1 withscores 9查询的结果是 aaa 3 ddd 3 sss 3
zrem person xxx; 删除一个指定的命令
以上是关于redis基础的主要内容,如果未能解决你的问题,请参考以下文章