一、使用redis遇到问题
redis有密码,没有输入密码就会报这样的错
使用find命令找到redis的配置文件redis.conf
cat /usr/local/bin/redisconfig/redis.conf |grep requirepass
找到查询到的密码,然后重新执行redis-cli raw
输入auth 你的密码
二、redis的数据类型
五种基础数据类型
字符串 String
列表 List
集合 Set
有序集合 SortedSet
哈希 Hash
五种高级数据类型
消息队列 Stream
地理空间 Geospatial
HyperLogLog
位图 Bitmap
位域 Bitfield
三、redis使用方式
CLI(Command Line Interface)redis-cli命令行
API(Application Programming Interface)使用java或者python常用编程语言使用redis
GUI(Graphical User Interface) 图形化界面 another-redis-desktop-manager,redisInsight
四、redis命令(redis默认不支持中文)登录时使用redis-cli --raw可以实现显示中文
1.字符串相关命令
set 名称 值 //设置一个键并赋值
get 名称 //获取键的值,如出现(nil)则说明该值不存在
del 名称 //删除值
exists 名称 //判断键是否存在,出现(integer) 0代表不存在,出现(integer) 1则代表存在
key “匹配参数” //当前存在哪些键 。*表示查找所有的键
flushall //删除所有的键
ttl 名称 //查看键的过期时间,-1表示没有设置过期时间,-2表示已经过期
expire 名称 秒 //设置过期时间
setex 名称 秒 值 //设置过期时间
setnx 名称 值 //如果键存在,不做任何操作,不存在则设置键值
2.列表操作(元素可以重复)
lpush 名称 值 //在列表头部添加数据,如果一次添加多个元素,空格隔开,后面一直加值
rpush letter b // 在列表结尾添加数据
lrange letter 0 -1 //获取从第一个到最后一个,-1代表最后一个,从0开始
lpop letter 2 //删除列表最左边的2个元素
rpop letter //删除列表最右边的2个元素
llen letter //获取列表长度
ltrim letter 1 3 //删除1到3以外的元素
3. set无序集合(元素不能重复),命令都以S开头
sadd 集合名称 元素们 //新建集合,并添加元素 ,添加集合中已有的元素,会弹出(integer)0 ,表示添加失败
smembers 集合名称 //显示集合内容
sismember 集合名称 元素 // 集合中是否含有该元素
srem 集合名称 元素 //删除集合中的元素
SINTER SUNION SDIFF 数据中集合的运算
4.有序集合 ,每个元素都以分数和成员组成,成员不可以重复,分数可以 命令都以Z开头,按分数从小到大排序
ZADD 集合名称 分数 成员 //例:ZADD result 680 清华 660 清华
ZRANGE 集合名称 开始 结束 //例:ZRANGE result 0 -1 (只输出成员) ZRANGE result 0 -1 WITHSCORES (同时输出分数)
ZSCORE 集合名称 成员 //查看分数 例:ZSCORE result 清华
ZRANK 集合名称 成员 //查看排名从小到大
ZREVRANK 集合名称 成员 //从大到小的排名
ZREM 集合 成员 // 删除某个成员
5.哈希键值对集合,相关命令以H开头
HSET person name laoyang //
hset person age 100
hget person name
hget person age
hgetall perosn //获取person中所有内容
hdel person age //删除person中的age
hexists person age //判断age键值对是否存在
hkeys person // 获取哈希perosn中的所有键
hlens person // 获取哈希perosn中的所有键值对的数量
6.发布订阅模式(publish将消息发到指定的频道,通过subscribe订阅频道)
首先,打开一个终端,订阅频道
subscribe conn
然后再打开一个终端发布消息到这个频道
publish conn hello
但消息无法持久化,无法记录历史消息