Rumah >pangkalan data >Redis >Membina sistem analisis pengguna masa nyata menggunakan Python dan Redis: cara menyediakan statistik tingkah laku pengguna

Membina sistem analisis pengguna masa nyata menggunakan Python dan Redis: cara menyediakan statistik tingkah laku pengguna

PHPz
PHPzasal
2023-07-30 18:23:081482semak imbas

Membina sistem analisis pengguna masa nyata menggunakan Python dan Redis: Cara menyediakan statistik tingkah laku pengguna

Pengenalan:
Dengan pembangunan Internet, statistik tingkah laku pengguna adalah penting untuk pembangunan perusahaan dan produk. Ini ialah sistem yang boleh mengira, menganalisis dan memaparkan data tingkah laku pengguna dalam masa nyata. Dalam artikel ini, kami akan memperkenalkan cara membina sistem analisis pengguna masa nyata menggunakan Python dan Redis untuk menyediakan statistik tingkah laku pengguna yang tepat dan masa nyata. Kami akan menunjukkan cara menulis kod dalam Python dan menggabungkannya dengan pangkalan data Redis untuk menyimpan dan memproses data.

  1. Reka Bentuk Seni Bina Sistem
    Sebelum kita mula menulis kod, kita perlu mereka bentuk seni bina sistem terlebih dahulu. Sistem analisis pengguna masa nyata biasa perlu memasukkan komponen berikut:
  2. Pengumpul data: bertanggungjawab untuk mengumpul data tingkah laku pengguna, seperti penyemakan imbas web, klik, masa tinggal halaman, dsb.
  3. Pemproses data: Bertanggungjawab untuk memproses, mengagregat dan mengira data mentah yang dikumpul, dan mengekalkan statistik tingkah laku pengguna dalam pangkalan data Redis.
  4. Penyampai Data: Menyediakan paparan statistik tingkah laku pengguna, seperti melalui antara muka web, antara muka API atau laporan.
  5. Penulisan kod Python
    Menggunakan Python sebagai bahasa pembangunan kami, kami boleh menggunakan perpustakaan Redis Python untuk mengendalikan pangkalan data Redis. Berikut ialah kod contoh ringkas tentang cara menyambung ke pangkalan data Redis dan melaksanakan operasi data dalam Python.

    # 导入Python Redis库
    import redis
    
    # 创建Redis连接
    r = redis.Redis(host='localhost', port=6379, db=0)
    
    # 设置键值对
    r.set('name', 'John')
    # 获取键值对
    name = r.get('name')
    print(name)
    
    # 执行命令操作
    r.execute_command('INCRBY', 'counter', 1)
    counter = r.get('counter')
    print(counter)

Kod di atas menunjukkan cara menyambung ke pangkalan data Redis setempat dan melakukan beberapa operasi mudah, termasuk menetapkan pasangan nilai kunci dan melaksanakan operasi arahan.

  1. Pengumpul Data
    Pengumpulan data ialah langkah pertama dalam sistem analisis pengguna masa nyata. Dalam contoh ini, kami akan menganggap bahawa kami sedang membangunkan tapak web e-dagang dan perlu mengumpul data tingkah laku klik pengguna.

    import redis
    from flask import Flask, request
    
    app = Flask(__name__)
    
    # 创建Redis连接
    r = redis.Redis(host='localhost', port=6379, db=0)
    
    @app.route('/click', methods=['POST'])
    def click():
     # 获取点击事件数据
     data = request.get_json()
     user_id = data['user_id']
     product_id = data['product_id']
     
     # 将点击事件存储到Redis数据库
     r.incrby('user:{}:clicks'.format(user_id), 1)
     r.incrby('product:{}:clicks'.format(product_id), 1)
     
     return 'OK'
    
    if __name__ == '__main__':
     app.run()

    Kod di atas ialah aplikasi Flask mudah yang digunakan untuk menerima dan memproses data gelagat klik pengguna. Apabila menerima permintaan POST untuk /click, kami mendapat ID pengguna dan ID produk daripada permintaan, dan kemudian menyimpan bilangan peristiwa klik dalam Redis. /click的POST请求时,我们从请求中获取用户ID和产品ID,然后将点击事件数量存储在Redis中。

  2. 数据处理器
    数据处理器负责从Redis数据库中读取用户行为数据,并进行处理、聚合和计算。下面是一个简单的示例代码,展示如何计算每个用户的总点击次数和每个产品的总点击次数。

    import redis
    
    # 创建Redis连接
    r = redis.Redis(host='localhost', port=6379, db=0)
    
    # 获取所有用户ID
    user_ids = r.keys('user:*:clicks')
    
    # 计算每个用户的总点击次数
    for user_id in user_ids:
     total_clicks = r.get(user_id)
     print('User {}: {}'.format(user_id, total_clicks))
    
    # 获取所有产品ID
    product_ids = r.keys('product:*:clicks')
    
    # 计算每个产品的总点击次数
    for product_id in product_ids:
     total_clicks = r.get(product_id)
     print('Product {}: {}'.format(product_id, total_clicks))

    上述代码会从Redis数据库中获取所有用户和产品的点击次数,并打印出结果。

  3. 数据展示器
    数据展示器是实时用户分析系统的最后一步,它负责展示用户行为统计信息。在这个示例中,我们使用Python的Flask框架创建一个简单的API接口来展示用户的总点击次数。

    import redis
    from flask import Flask, jsonify
    
    app = Flask(__name__)
    
    # 创建Redis连接
    r = redis.Redis(host='localhost', port=6379, db=0)
    
    @app.route('/user/<user_id>/clicks', methods=['GET'])
    def get_user_clicks(user_id):
     # 获取用户的总点击次数
     total_clicks = r.get('user:{}:clicks'.format(user_id))
     return jsonify(total_clicks)
    
    if __name__ == '__main__':
     app.run()

    上述代码创建了一个名为/user/ee0caf53511b41f7ae14b7f90e5d0620/clicks

Pemproses Data

Pemproses data bertanggungjawab membaca data tingkah laku pengguna daripada pangkalan data Redis dan memproses, mengagregat dan mengiranya. Di bawah ialah kod sampel ringkas yang menunjukkan cara mengira jumlah klik setiap pengguna dan jumlah bilangan klik setiap produk.
rrreee

Kod di atas akan mendapat bilangan klik untuk semua pengguna dan produk daripada pangkalan data Redis dan mencetak hasilnya. 🎜🎜🎜🎜Penyampai Data🎜Penyampai data ialah langkah terakhir sistem analisis pengguna masa nyata, yang bertanggungjawab untuk memaparkan statistik tingkah laku pengguna. Dalam contoh ini, kami menggunakan rangka kerja Flask Python untuk mencipta antara muka API yang mudah untuk memaparkan jumlah bilangan klik oleh pengguna. 🎜rrreee🎜Kod di atas mencipta antara muka API bernama /user/ee0caf53511b41f7ae14b7f90e5d0620/clicks, yang digunakan untuk mendapatkan jumlah klik pengguna tertentu. Ia membaca kiraan klik pengguna daripada pangkalan data Redis dan mengembalikan respons JSON. 🎜🎜🎜🎜Ringkasan: 🎜Artikel ini memperkenalkan cara membina sistem analisis pengguna masa nyata menggunakan Python dan Redis untuk menyediakan perangkaan tingkah laku pengguna yang tepat dan masa nyata. Kami menunjukkan cara menulis kod dalam Python dan menggabungkannya dengan pangkalan data Redis untuk menyimpan dan memproses data. Melalui sistem ini, kami boleh mengumpul data tingkah laku pengguna dengan mudah, melaksanakan statistik, pengagregatan dan pengiraan serta memaparkan keputusan statistik melalui antara muka API. Sistem analitik pengguna masa nyata ini mempunyai pelbagai jenis aplikasi, sama ada e-dagang, media sosial atau pengiklanan dalam talian, semuanya boleh mendapat manfaat daripadanya. 🎜

Atas ialah kandungan terperinci Membina sistem analisis pengguna masa nyata menggunakan Python dan Redis: cara menyediakan statistik tingkah laku pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn