0
点赞
收藏
分享

微信扫一扫

Redis学习笔记(1)-为什么要用redis这样子的nosql


使用Nosql

传统mysql在大并发的情况并不能解决问题。所以需要存储在内存中的高速数据来支撑我们的系统。

Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams. Redis has built-in replication, Lua scripting, LRU eviction, transactions, and different levels of on-disk persistence, and provides high availability via Redis Sentinel and automatic partitioning with Redis Cluster. Learn more →

Redis 是一种开源(BSD 许可)、内存中数据结构存储,用作数据库缓存和消息代理。 Redis 提供了数据结构,例如字符串散列列表集合、带有范围查询的排序集合位图超级日志地理空间索引。 Redis 内置复制、Lua 脚本、LRU 驱逐、事务和不同级别的磁盘持久化,并通过 Redis Sentinel 和 Redis Cluster 自动分区提供高可用性

常用命令(string)

命令

作用

keys *

查看当前库的所有key

TTL

查看key的剩余时间

expire

设置过期时间

type

查看字段类型

APPEND

追加字符串 字符串不存在 相当于setkey

STRLEN

查看字符串长度

INCR

+1

DECR

-1

GETRANGE key1 0 3

截取指定位数字符串

SETRANGE key 1 xx

替换指定位置的字符串

setex

创建并设置过期时间

setnx

不存在才设置 存在设置失败 (分布式锁里面会常常使用)

fllushdb

清空当前数据库

mset

批量设置

msetnx

批量设置如果不存在 (原子性操作)

KEY user:{id}:name

巧妙设计

getset

先get 后 set 如果不存在返回null 存在拿之前的值 并设置新的值

常用命令(List)

命令

作用

LPUSH

从左加入

RPOP

从右弹出一个

LPOP

从左弹出

RPUSH

从右加入

LRANGE

通过范围获取集合值

LLEN

返回列表长度

LREM

移除列表里面的值 lrem list 1 one (移除列表里面有one的 移除1个)

ltrim list 1 2

截去指定范围的列表

RPOPLPUSH list1 list2

移除列表最后元素并添加一个元素 到新列表

LSET list 0 item

更新一个值 不存在直接报错

LINSERT key BEFORE

AFTER privot value

list实际上是一个链表 所以我们增加元素特别方便,有此特性,我们可以用作简单的MQ


举报

相关推荐

0 条评论