Redis学习记录02

5、安装redis:参考安装手册。
下载:
解压:tar -zxvf ...
编译:make
需要先安装gcc
编译结果:在redis的安装目录下src目录中,生成redis的一系列可执行文件。
安装:make install
把redis的安装目录下src目录中生成redis的一系列可执行文件拷贝到/usr/local/bin中,
在任何目录下都可以执行redis命令。


6、启动redis服务:
1)前台启动:在任何目录下执行 redis-server
2)后台启动:在任何目录下执行 redis-server &
3)启动redis服务时,指定配置文件:redis-server redis.conf &


7、关闭redis服务:
1)、通过kill命令:
ps -ef|grep redis查看pid
kill -9 pid


2)、通过redis-cli命令关闭:
redis-cli shutdown
8、redis的客户端:用来连接redis服务,向redis服务端发送命令,并且显示redis服务处理结果。
redis-cli:是redis自带客户端,使用命令redis-cli就可以启动redis的客户端程序。

./mysql -uroot -p

redis-cli:默认连接127.0.0.1(本机)的6379端口上的redis服务。
redis-cli -p 端口号:连接127.0.0.1(本机)的指定端口上的redis服务。
redis-cli -h ip地址 -p 端口:连接指定ip主机上的指定端口的redis服务。
9、退出客户端:在客户端执行命令:exit或者quit

10、redis的基本知识:
1)、测试redis服务的性能:
redis-benchmark

 

 图片说明:显示了一个时间段内完成多少请求,百分之多少的请求在多少毫秒内完成,平均每秒可以完成多少请求。


2)、查看redis服务是否正常运行:
ping 如果正常---pong

 

 


3)、查看redis服务器的统计信息:
info 查看redis服务的所有统计信息
info [信息段] 查看redis服务器的指定的统计信息,如:info Replication

 

 


4)、redis的数据库实例:作用类似于mysql的数据库实例,redis中的数据库实例只能由redis服务来创建和维护,开发人员不能修改和自行创建数据库实例;默认情况下,redis会自动创建16个数据库实例,并且给这些数据库实例进行编号,从0开始,一直到15,使用时通过编号来使用数据库;可以通过配置文件,指定redis自动创建的数据库个数;redis的每一个数据库实例本身占用的存储空间是很少的,所以也不造成存储空间的太多浪费。
默认情况下,redis客户端连接的是编号是0的数据库实例;可以使用select index切换数据库实例。


5)、查看当前数据库实例中所有key的数量:dbsize
6)、查看当前数据库实例中所有的key:keys *
7)、清空数据库实例:flushdb
8)、清空所有的数据库实例:flushall
9)、查看redis中所有的配置信息:config get *
查看redis中的指定的配置信息:config get parameter
11、Redis的五种数据结构:
程序是用来处理数据的,Redis是用来存储数据的;程序处理完的数据要存储到redis中,不同特点的数据要存储在Redis中不同类型的数据结构中。
字符串: zhangsan 20 true string 单key:单value: username:zhangsan age:20 类似于Map<String,String>
list列表: 13900009999 zs@163.com 321321 list 单key:多有序value: contacts:13900009999,xxx,xxxx  类似于Map<String,List>
set集合: beijing shanghai chongqing tianjin set 单key:多无序value:city:bj sh cq tj  类似于Map<String,Set>
pojo: id:1001,name:zhangsan,age:20 hash 单key: 对象(属性:值):
student:id:1001,name:zhangsan,age:20
zset 单key:多有序vlaue:
city:
1000 tj,1200 cq,1500 sh,2000 bj

 


12、redis中的操作命令:
1)、redis中有关key的操作命令:
a)查看数据库中的key:keys pattern
|->*:匹配0个或者多个字符
|->?: 匹配1个字符
|->[]:匹配[]里边的1个字符
keys *:查看数据库中所有的key
keys k*:查看数据库中所有以k开头的key
keys h*o:查看数据库中所有以h开头、以o结尾的key
keys h?o: 查看数据库中所有以h开头、以o结尾的、并且中间只有一个字符的key
keys h[abc]llo:查看数据库中所有以h开头以llo结尾,并且h后边只能取abc中的一个字符的key

 

 


b)判断key在数据库中是否存在:exists key 如果存在,则返回1;如果不存在,则返回0
exists key [key key ....] 返回值是存在的key的数量
exists k1
exists k1 k2 k3 hello
c)移动指定key到指定的数据库实例:move key index
move k 1
d)查看指定key的剩余生存时间:ttl key
|->如果key没有设置生存时间,返回-1
|->如果key不存在,返回-2
ttl k1
ttl k2
e)设置key的最大生存时间:expire key seconds
expire k2 20

 

 


f)查看指定key的数据类型:type key
type k1


g)重命名key: rename key newkey
rename hello k2


h)删除指定的key:del key [key key .....]
|->返回值是实际删除的key的数量
del k1 k2 k3 k4


2)、redis中有关string类型数据的操作命令:
a)将string类型的数据设置到redis中:set 键 值
set zsname zhangsan
set zsage 20
set totalRows 100
set zsage 30 如果key已经存在,则后来的value会把以前的value覆盖掉.


b)从redis中获取string类型的数据:get 键
get zsname
get zsage
get totalRows


c)追加字符串:append key value
|->返回追加之后的字符串长度
|->如果key不存在,则新创建一个key,并且把value值设置为value。
set phone 1389999
append phone 8888


d)获取字符串数据的长度:strlen key
strlen phone


e)将字符串数值进行加1运算:incr key
|->返回加1运算之后的数据
|->如果key不存在,首先设置一个key,值初始化为0,然后进行incr运算。
|->要求key所表示value必须是数值,否则,报错
incr zsage
incr age
incr zsname 报错


f)将字符串数值进行减1运算:decr key
|->返回减1运算之后的数据
|->如果key不存在,首先设置一个key,值初始化为0,然后进行decr运算。
|->要求key所表示value必须是数值,否则,报错


g)将字符串数值进行加offset运算:incrby key offset
|->返回加offset运算之后的数据
|->如果key不存在,首先设置一个key,值初始化为0,然后进行incrby运算。
|->要求key所表示value必须是数值,否则,报错
incrby zsage 10


h)将字符串数值进行减offset运算:decrby key offset
|->返回减offset运算之后的数据
|->如果key不存在,首先设置一个key,值初始化为0,然后进行decrby运算。
|->要求key所表示value必须是数值,否则,报错
decrby zsage 10


i)闭区间获取字符串key中从startIndex到endIndex的字符组成的子字符串:getrange key startIndex endIndex
|->下标自左至右,从0开始,依次往后,最后一个字符的下标是字符串长多-1;
|->字符串中每一个下标也可以是负数,负下标表示自右至左,从-1开始,依次往前,最右边一个字符的下标是-1

 

 


j)用value覆盖从下标为startIndex开始的字符串,能覆盖几个字符就覆盖几个字符:setrange key startIndex value

 

 


k)设置字符串数据的同时,设置它最大生命周期:setex key seconds value
setex k1 20 v1


l)设置string类型的数据value到redis数据库中,当key不存在时设置成功,否则,则放弃设置:setnx key value
setnx zsage 20


m)批量将string类型的数据设置到redis中:mset 键1 值1 键2 值2 .....
mset k1 v1 k2 v2 k3 v3 k4 v4 k5 v5
n)批量从redis中获取string类型的数据:mget 键1 键2 键3.....
mget k1 k2 k3 k4 k5 k6 zsname zs age totalRows
o)批量设置string类型的数据value到redis数据库中,当所有key都不存在时设置成功,否则(只要有一个已经存在),则全部放弃设置:msetnx 键1 值1 键2 值2 .....
msetnx kk1 vv1 kk2 vv2 kk3 vv3 k1 v1

posted @   理塘DJ  阅读(31)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示