1、redis安装
- sudo apt install lsb-release curl gpg
- curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
- echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
- sudo apt-get update
- sudo apt-get install redis
复制代码 如果你利用了包管理器来安装Redis,通常它会被安装到系统的默认位置。可以通过which命令查看redis的安装位置
2、启动redis的三种方式
方式一
- /etc/init.d/redis-server start
复制代码 方式二
- systemctl start redis-server
复制代码 方式三
- service redis-server start
复制代码
重启redis
- service redis-server restart
复制代码 3、利用Java步伐调用redis服务
3.1 修改配置文件
启动之后的redis只能在服务器内部利用,如果必要外部利用,比如利用Java步伐调用,必要
必要修改配置文件。
默认情况下,redis的配置文件在/etc/redis/redis.conf,打开这个文件,注释掉下面的内容。
3.2 创建Java步伐
创建maven步伐
添加jedis依靠
- <dependency>
- <groupId>redis.clients</groupId>
- <artifactId>jedis</artifactId>
- <version>4.3.1</version>
- </dependency>
复制代码 我利用的是阿里云服务器,在运行代码的时候提示:
在网上搜索了很多解决方案如下:必要修改redis.conf文件中的一些配置:
如下图:
但是修改完配置之后照旧报错,思索ing,研究了泰半天,后来发现因为我用的是阿里云服务器,以是必要在服务器配置内里开通端口。
然后就可以正常访问了。
4、redis根本操作
redis的通用命令
- 1、切换数据库
- select 1
- 2、查看当前数据库的key的数量
- DBSIZE
- 3、设置一个key为name,值为tutu的数据
- set name tutu
- 4、获取值为name的数据
- get name
- 5、获取所有的key
- keys *
- 6、清楚当前的数据库
- flushdb
- 7、清楚所有的数据库
- flushall
- 8、模糊查询,查询以user开头的key
- keys user:*
- 9、模糊查询,key中有user的数据
- keys *user*
复制代码 redis根本命令
- 查询key为name是否存在
- exists name
- 指定key为name的数据移动到1号数据库
- move name 1
- 指定key为name的数据10s之后过期
- expire name 10
- 查看key为name的数据还有多就过期
- ttl name
- 查看key为name的数据是什么类型
- type name
复制代码 5、五种数据类型
String(字符串)
- 设置key为name的值为tutu
- set name tutu
- 获取key为name的值
- get name
- 拼接key为name的值:isAMan
- append name isAMan
- 重新获取name的值:tutuisAMan
- 获取key为name的长度
- strlen name
- 如果key为数字,设置key为name的值加1
- incr name 1
- 如果key为数字,设置key为name的值减1
- decr name 1
- 设置key为name的值+10
- incrby name 10
- 设置key为name的值-10
- decrby name 10
- 截取下标为0-3之间的字符串
- setrange name 0 3
- 从下标为1对字符串进行替换,abcdefg替换之后为a000fg
- setrange name 1 000
- 设置name的之为hello,10s后过期
- setex name 10 hello
- 如果不存在key为title的数据,则将值设置为redis,如果存在,则set操作失败
- setnx title redis
- 一次性设置多个值
- mset k1 v1 k2 v2 k3 v3
- 如果k1已经存在,则k1 k4全部设置失败
- msetnx k1 v1 k4 v4
- 如果不存在key为name的值,则返回null ,然后set进去,如果存在值,则获取原来的值并设置新的值
- getset name tutu
复制代码 List集合
- 将一个值或多个值插入到list的头部
- lpush list 1
- 将一个或多个值插入到list的尾部
- rpush list 4
- 通过区间获取到具体的值
- lrange list 0 3
- 移除list的第一个元素
- lpop list
- 移除list的最后一个元素
- rpop list
- 根据下标获取list中的某一个值
- lindex list 0
- 获取list的长度
- llen list
- 移除list集合指定个数的value ,移除一个值为2的数据
- lrem list 1 2
- 截取list集合中下标为1到2的元素集合,并覆盖原来的list
- ltrim list 1 2
- 更新list集合中下标为0的数据的值为bbb,如果下标0的值不存在,则报错
- lset list 0 bbb
- 将一个具体的值插入到某一个居提的元素的前面或者后面
- linsert list before kkk aaa
- linsert list after kkk aaa
复制代码 Set集合
- 往set中添加一个元素
- sadd set hello
- 查看set集合中的所有元素
- smembers set
- 查看set集合中是否存在该元素
- sismember set world
- 随机取出一个元素
- srandmember set
- 随机取出两个元素
- srandmember set 2
- 随机删除set集合中的某个元素
- spop set
- 移动set集合中的world元素到set2集合中
- smove set set2 world
- set2减去set集合的差集
- sdiff set2 set
- set和set2的交集
- sinter set set2
- set和set2取并集并去重
- sunion set set2
复制代码 Hash集合
- 往hash集合中存放键值对
- hset hash user tutu
- 从hash集合中获取数据
- hget hash name
- 往hash集合中添加多个值
- hmset hash name jsck age 2
- 同时获取多个值
- hmget hash name age
- 获取hash集合中的所有键值对
- hgetall hash
- 删除hash集合中指定的key字段
- hdel hash name
- 获取hash集合的长度
- hlen hash
- 判断hash集合中指定字段是否存在
- hexista hash name
- 获取hash集合中的所有key
- hkeys hash
- 获取hash集合中的所有key
- hvals hash
- 指定hash集合中指定增量
- hincrby hash age 1
- 如果不存在直接设置值,存在则设置失败
- hsetns hash password 123456
复制代码 Zset有序集合
- 添加一个值
- zadd zset 1 first
- 添加多个值
- zadd zset second 2 third 4 four
- 获取zset集合中的所有元素
- zrange zset 0 -1
- zset集合从小到大排序,-inf负无穷,+inf正无穷
- zrangebyscore zset -inf +inf
- 从小到大排序并输出键值
- zrangebyscore zset -inf +inf withscores
- 指定负无穷到1的范围
- zrangebyscore zset -inf 1 withscores
- 移除zset集合中指定的元素
- zrem zset four
- 查看zset集合中的元素的个数
- zcard zset
- 反转指定范围
- zrevrange zset 1 2
复制代码 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |