Redis操作 入门个人总结

Redis操作 入门个人总结

linux下先找到redis-cli客户端
查找
find / -name redis-cli

redis入门新手总结(只适合新手入门,都是常用命令以及个人总结)
参考文档:https://www.runoob.com/redis/redis-tutorial.html
个别借鉴csdn、博客园、各种大牛xinde

1、首先知道什么是redis

Redis是一种支持key-value等多种数据结构的存储系统,也是nosql(非关系型数据库)。
它使用C语言编写,支持String(字符串),Hash(哈希散列),List(列表),Set(无序集合) Sorted Set(有序集合)
基于内存,可持久化。

2、redis特征

redis是基于内存存储数据的,
如果redis出现宕机造成数据丢失,
可以通过redis.conf配置生成相关的日志文档以及将数据在磁盘进行备份。

3、redis相关命令

启动服务 (要守护进程redis.conf文件,将daemonize设置的值设置为yes) ./redis-server …/redis.conf
进入本地客户端 find / -name redis-cli 链接测试ping 返回pong就正常
开放远程连接 vi redis.conf 注释bind 127.0.0.1, protected-mode 变成no 一个是绑定IP,一个是关闭保护模式
云服务器记得开放安全组 随便检测下防火墙相关端口
firewall-cmd --query-port=6379/tcp //查看下防火墙端口状态
firewall-cmd --zone=public --add-port=6379/tcp --permanent //开启
firewall-cmd --reload //重新加载
【提示,redis主从复制比较简单(主服务器不用做什么操作,从服务器只要slaveof 域名 端口) 返回OK就可以了】

redis数据库操作:

摘要:
redis数据库数量由redis.conf 配置databases=16//默认16
每个数据库都有属于自己的空间,不必担心之间的key冲突。

Keys(键)操作命令:
keys * 获取所有键,也可以模糊搜索
type key 获取改键的类型
del key 删除存在的key
move key db 移动当前数据库key到给定的数据库中
randomkey 从当前数据库中随机返回一个 key
过期时间相关:
expre key 给key设置过期时间,秒计算
persist key 移除key的过期时间
tll key 以秒返回key剩余时间(不过期返回-1)

String:
对键值的写入:
set key value 设置键值
mset 可以设置多个键值
setnv key value 只有在key不存在才设置key值
msetnx 同事设置多个key不存在才设置key值
getset key value 设置键值并且返回旧键值
incr key 所有key值是数字就增一 返回当前值 如果键不存在就创建
incrby key increment 给key值增量increment 返回当前值 如果键不存在就创建
decr跟上面意义相反,用法相同
append key value 给key追加值 相当于拼接

对键值的获取:
get key获得键值
mget 获取多个key值,空格分开
strlen key 获取key值的长度
getrange key start end 可以截取字符串一部分 从0开始

Hash:

注:hash其实就键值对,新手可以想象成数组这样先理解。
对键值的写入:
hset key field value 可以同时设置该键多个键值对 感觉跟hmset才差不多,就不写hmset了
hsetnx key field value
hdel key field1 删除一个或者多个hash key中的字段
hincrby key field increment 给hash字段整数加上增量increment
hincrbyfloat key field increment 给hash字段浮点数加上增量increment

对键值的获取:
hget key field 获取hash键值的字段值
hmget key field1 获取多个hash键值的字段值
hgetall key 获取hash键值的所有字段和值

List:
Redis列表是简单的字符串列表,按照插入顺序排序。list是以左边为起点,右边为终点。
对键值的写入:
lpush key value1 从左边插入list ,没有key会新增,返回该key总数
lpushx key value 从左边插入一个已存在的key,没key会返回0
rpush key value1 从右边插入list ,没有key会新增,返回该key总数
rpushx key value 从左边插入一个已存在的key,没有key会返回0
lpop key移出第一个元素(最左边)并返回移出的值
blpop key timeout移出第一个元素,如果列表没元素就会阻塞等到超时或者有元素进来
brpoplpush list destinationList timeout
如果这时候redis客户端挂了.那个数据就永远丢失了.redis提供了一种备用机制. BRPOPLPUSH 这个命令会先把pop出来的数据.存到指定的list.然后再把传递给redis客户端,多了一层保障
lrem key count value 按值去删除list的count,count为0就是全部
lset key index value 通过索引设置列表元素的值

对键值的获取:
lindex key index 通过索引获取list的元素,从0开始
llen key 获取list的长度
lrange key start end 获取list的范围 0,-1就是全部

Set:
Redis 的 Set 是 String 类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。

对键值的写入:
sadd key value1 value2 向集合添加一个或多个值
smove key2 key1 valuee 将value从key2移动到key1
sdiffstore key key1 key2 返回给定key1,key2集合的差集并存储在key中
sinterstore key key1 key2 返回给定所有集合的交集并存储的key中
spop key 移除并返回集合中的一个随机值
srem key value 移除集合中一个或者多个值

对键值的获取:
scard key 获取集合的长度
sdiff key1 key2 获取给定所有集合的差集
sinter key1 key2 获取给定key1,key2集合的交集
sismember key value 判断值是否在集合里面
smembers key 获取集合中所有的值
srandmember key count 获取集合中一个或多个随机值
sunion key1 key2 获取key1,key2的并集
sunionstore key key1 key2 将key1,key2的并集存在key中
sscan key sscan match * 迭代集合中的元素

Sorted Set:
Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。
有序集合的成员是唯一的,但分数(score)却可以重复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值