兰州网站建设价深圳宝安区深圳网站建设 骏域网络
- 作者: 五速梦信息网
- 时间: 2026年04月20日 10:33
当前位置: 首页 > news >正文
兰州网站建设价,深圳宝安区深圳网站建设 骏域网络,品牌网站建是啥,文创产品设计作品案例欣赏目录 一、介绍 二、安装以及连接 三、设置连接密码 四、连接报错 五、redis 操作字符串以及过期时间 六、 redis 列表操作 七、redis 集合操作 八、hash 哈希操作 九、redis 发布和订阅操作 十、RDB和AOF的两种数据持久化机制 十一、 其他机器连接redis 十二、 pyt…目录 一、介绍 二、安装以及连接 三、设置连接密码 四、连接报错 五、redis 操作字符串以及过期时间 六、 redis 列表操作 七、redis 集合操作 八、hash 哈希操作 九、redis 发布和订阅操作 十、RDB和AOF的两种数据持久化机制 十一、 其他机器连接redis 十二、 python 操作redis
安装python-redis 以及连接redis
操作数据 3. 事务操作 4. 发布与订阅 一、介绍 redis 是一种 nosql 数据库他的数据是保存在内存中同时 redis 可以定时把内存数据同步到磁盘即可以将数据持久化并且他比 memcached 支持更多的数据结构( string,list表[队列和栈]set[集合]sorted set[有序集合]hash(hash表)。 redis 使用场景 登录会话存储存储在 redis 中与 memcached 相比数据不会丢失。排行版/计数器:比如一些秀场类的项目经常会有一些前多少名的主播排名。还有一些文章阅读量的技术或者新浪微博的点赞数等。作为消息队列:比如 celery 就是使用 redis 作为中间人。当前在线人数:还是之前的秀场例子会显示当前系统有多少在线人数。一些常用的数据缓存:比如我们的 BBS 论坛板块不会经常变化的但是每次访问首页都要从ys591 中获取可以在 redis 中缓存起来不用每次请求数据库。把前200篇文童缓存或者评论缓存:一般用户浏览网站只会浏览前面一部分文章或者评论那么可以把前面200篇文童和对应的评论缓存起来。用户访问超过的就访问数据库并且以后文章超过200篇则把之前的文章删除。好友关系: 微博的好友关系使用 redis 实现。发布和订阅功能:可以用来做聊天软件。 二、安装以及连接 参考文章链接【Redis】在Mac上安装使用redis的教程_mac安装redis-CSDN博客 安装brew install redis开启服务brew services start redis关闭服务 brew services stop redis指定端口号redis-cli -h 127.0.0.1 -p 6379
-h ip地址 -p 端口号 -a 密码 三、设置连接密码 配置文件设置连接密码 第一步cd /opt/homebrew/etc 第二步open redis.conf 报错了No application knows how to open URL file:///opt/homebrew/etc/redis.conf 解决 换成 open -e redis.conf 命令 第三步在redis.conf 中修改requirepass 密码如图所示 第四步运行 redis-server /opt/homebrew/etc/redis.conf 第五步运行 redis-cli -h 127.0.0.1 -p 6379 -a 123456 四、连接报错 报错Could not connect to Redis at 127.0.0.1:6379: Connection refused 方式一 查看服务是否启动 方式二 如果服务已经启动还是报错通过以下方式解决 检查redis 服务的状态redis-cli ping确认redis 服务正在运行如果返回PONG则表示Redis服务器正在运行。如果没有返回或者返回其他错误消息我们需要通过以下命令启动Redis服务器: redis-server。参考链接 解决Could not connect to Redis at 127.0.0.1:6379: Connection refused的具体操作步骤_mob649e816a3664的技术博客_51CTO博客 五、redis 操作字符串以及过期时间 添加字符串 set key value 查看字符串. get key 设置过期时间 set key value EX 过期时间(秒) 比如set username axuan EX 10 expire key 过期时间(秒) 比如expire age 204. 查看过期时间 ttl key 查看所有字符串 keys * 删除字符串 del key
其他命令 删除所有的key flushall 六、 redis 列表操作 在列表左边添加元素 lpush key value 比如lpush userlist xuan 在列表右边添加元素 rpush key value 查看列表中的元素 lrange key start stop 比如lrange userlist 0 -1 返回所有的元素 移除并返回列表key的头元素 lpop key 移除并返回列表key的尾元素 rpop key 移除并返回返回列表key的中间元素count个值为value的元素 lrem key count value 比如lrem userlist 1 haha 指定返回第几个元素(元素序号是从0开始) lindex key index 获取列表中的元素个数 llen key 删除指定的元素 lrem key count value count 0从表头开始向表尾搜索移除与 value 相等的元素数量为 count 。 count 0从表尾开始向表头搜索移除与 value 相等的元素数量为 count 的绝对值。 count 0: 移除表中所有与 value 相等的值。 七、redis 集合操作 添加元素 sadd set value1 value2 比如sadd school1 qinghua beida 查看元素 smembers set 比如smembers school1 移除元素 srem set memeber 比如srem school1 beida 查看集合中的元素个数 scard set 比如scard school1 获取多个集合的交集 sinter set1 set2 比如sinter school1 school2 获取多个集合的并集 sunion set1 set2 比如sunion school1 school2 获取多个集合的差集 sdiff set1 set2 比如sdiff school1 school2 八、hash 哈希操作 添加一个新值 hset key field value 比如hset person name xuan 添加多个新值 hmset key field value field value… 比如hmset person address jueeweee height 155 获取哈希中的field对应的值 hset key field 比如hget person name 删除field 中的某个field hdel key field 比如hdel person height 获取某个哈希中所有的field 和 value hgetall key 比如hgetall person 获取某个哈希中所有的field hkeys key 比如hkeys person 获取某个哈希中所有的值 hvals key 比如hvals person 判断哈希是否存在某个filed hexists key field 比如hexists person age 获取哈希中总共的键值对 hlen key 比如hlen person key redis 事务操作 事务特点 Redis 事务可以一次执行多个命令事务具有以下特征 隔离操作:事务中的所有命令都会序列化、按顺序地执行不会被其他命令打扰。原子操作: 事务中的命令要么全部被执行要么全部都不执行。 2. 操作事务 开启一个事务 multi 执行事务会将在multi 和exec 中的操作一并提交 exec 如下图所示 127.0.0.1:6379 multi OK 127.0.0.1:6379(TX) set username axuanya QUEUED 127.0.0.1:6379(TX) get username QUEUED 127.0.0.1:6379(TX) exec 1) OK 2) axuanya 取消事务 discard 监视一个或者多个key如果在事务执行之前这个或这些key 被其他命令所改动那么事务将被打断 127.0.0.1:6379 watch username OK 127.0.0.1:6379 multi OK 127.0.0.1:6379(TX) set username hahahaha QUEUED 127.0.0.1:6379(TX) exec 1) OK 127.0.0.1:6379 get username hahahaha 127.0.0.1:6379 取消所有key的监视 unwatch 九、redis 发布和订阅操作 给某个频道发布消息 publish channel message 2. 订阅某个频道发布消息 subscribe channel 十、RDB和AOF的两种数据持久化机制 RDB AOF 开启关闭 开启: 默认开启。关闭: 把配置文件中所有的save都注释就是关闭了。 开启:在配置文件中appendonly yes 即开启了 aof 为 no 关闭。 同步机制 可以指定某个时间内发生多少个命令进行同步。比如1分钟内发生了2次命令就做一次同步。 *save 900 1:如果在900s以内发生了1次数据更新操作那么就会做一次同步操作。 *save 300 10: 如果在300s以内发生了10数据更新操作那么就会做一次同步操作。 *save 60 10000:如果在60s以内发生了10000数据更新操作那么就会做一次同步操作。 每秒同步或者每次发生命令后同步。 *appendfsync always:每次有数据更新操作都会同步到文件中。 * appendfsync everysec:每秒进行一次更新。 * appendfsync no:使用操作系统的方式进行更新。普遍是30s更新一次。 存储内容 存储的是redis里面的具体的值 存储的是执行的更新数据的操作命令 存储路径 根据redis.conf下的dir以及rdbfilename来指定的。默认是/var/lib/redis/dump.rdb 根据redis.conf下的dir以及appendfilename来指定的。默认是/var/lib/redis/dump.rdb 优点 存储数据到文件中会进行压缩文件体积比aof小。(2) 因为存储的是redis具体的值并且会经过压缩因此在恢复的时候速度比AOF快。(3非常适用于备份。 (1) AOF的策略是每秒钟或者每次发生写操作的时候都会同步因此即使服务器故障最多只会丢失1秒的数据。(2) AOF存储的是Redis命令并且是直接追加到aof文件后面因此每次备份的时候只要添加新的数据进去就可以了。3) 如果AOF文件比较大了那么Redis会进行重写只保留最小的命令集合。 缺点 RDB在多少时间内发生了多少写操作的时候就会出发同步机制因为采用压缩机制RDB在同步的时候都重新保存整个Redis中的数据因此你一般会设置在最少5分钟才保存一次数据。在这种情况下一旦服务器故障会造成5分钟的数据丢失。(2)在数据保存进RDB的时候Redis会fork出一个子进程用来同步在数据量比较大的时候可能会非常耗时。 AOF文件因为没有压缩因此体积比RDB大。 (2) AOF是在每秒或者每次写操作都进行备份因此如果并发量比较大效率可能有点慢。(3AOF文件因为存储的是命令因此在灾难恢复的时候Redis会重新运行AOF中的命令速度不及RDB。 十一、 其他机器连接redis 如果想要让其他机器连接本机的redis 服务器, 那么应该在redis.conf配置文件中指定“bind 本机的ip地址” 这样别的机器就能连接成功。不像是网上说的要指定对方的ip地址. 十二、 python 操作redis安装python-redis 以及连接redis import redis from flask import Flask cache redis.StrictRedis(host127.0.0.1, port6379, db0) app Flask(name) if name main:app.run(debugTrue)
操作数据 # 1. 操作字符串 cache.set(username, axuan) print(cache.get(username))
2. 操作列表
cache.lpush(languages, java) cache.lpush(languages, python) print(cache.lrange(languages, 0, -1))
3. 集合的操作
cache.sadd(team, yuyu) cache.sadd(team, xuan) print(cache.smembers(team))
4. 哈希的操作
cache.hset(person,name,xuanya) cache.hset(person,age,25) print(cache.hgetall(person))3. 事务操作 pipcache.pipeline() pip.set(username,lalala) pip.set(password,1u3u33)
执行事务
pip.execute() 4. 发布与订阅
订阅
ps cache.pubsub() ps.subscribe(email) while True:for item in ps.listen():if item[type] message:print(item[data])
发布
import redis from faker import Faker cache redis.StrictRedis(host127.0.0.1, port6379, db0) fake Faker(languagezh-CN) for x in range(3):cache.publish(email, fake.email())
相关文章
-
兰州网站建设方案详细做营销网站企业
兰州网站建设方案详细做营销网站企业
- 技术栈
- 2026年04月20日
-
兰州网站seo网站开发从零到
兰州网站seo网站开发从零到
- 技术栈
- 2026年04月20日
-
兰州市门户网站模板建站和仿站
兰州市门户网站模板建站和仿站
- 技术栈
- 2026年04月20日
-
兰州网站建设推荐q479185700顶上哪些网站可以免费发帖做推广
兰州网站建设推荐q479185700顶上哪些网站可以免费发帖做推广
- 技术栈
- 2026年04月20日
-
兰州网站建设优化制作公司做网站为什么选择竞网智赢
兰州网站建设优化制作公司做网站为什么选择竞网智赢
- 技术栈
- 2026年04月20日
-
兰州网站建设招聘最新中国燃气企业门户
兰州网站建设招聘最新中国燃气企业门户
- 技术栈
- 2026年04月20日
