The quote generator retrieves the most recently added quote with and without caching enabled from a predefined set of quotes. In the context of your Solidstart application, the quote generator is a service that provides quotes, with some caching strategies applied to optimize performance and reduce the load on the database.
- Fetch a quote: Retrieves the most recently added quote with and without caching enabled.
- Apply caching strategy: Depending on the request, it may apply different caching strategies (e.g., TTL, SWR, TTL+SWR or no caching).
- Return the quote: The selected quote is returned, along with metadata about the caching status and other relevant information.
This project showcases how to use Prisma ORM with Prisma Accelerate in a SolidStart application. It demonstrates every available caching strategy in Accelerate.
To successfully run the project, you will need the following:
- The connection string of a publicly accessible database
- Your Accelerate connection string (containing your Accelerate API key) which you can get by enabling Accelerate in a project in your Prisma Data Platform account (learn more in the docs)
Clone the repository, navigate into it and install dependencies:
git clone git@github.com:prisma/prisma-examples.git --depth=1
cd prisma-examples/accelerate/solidstart-starter
npm install
Create a .env in the root of the project directory:
touch .envNow, open the .env file and set the DATABASE_URL environment variable with the value of your Accelerate connection string:
# .env
# Accelerate connection string (used for queries by Prisma Client)
DATABASE_URL="__YOUR_ACCELERATE_CONNECTION_STRING__"
SOLID_START_PUBLIC_URL="http://localhost:3000"Note that __YOUR_ACCELERATE_CONNECTION_STRING__ is a placeholder value that you need to replace with the value of your Accelerate connection string. Notice that the Accelerate connection string has the following structure: prisma://accelerate.prisma-data.net/?api_key=__YOUR_ACCELERATE_API_KEY__.
The Prisma schema file contains a single Quotes model. You can map this model to the database and create the corresponding Quotes table using the following command:
npx prisma migrate dev --name init
You now have an empty Quotes table in your database. Next, run the seed script to create some sample records in the table:
npx prisma db seed
Generate Prisma Client with the following command:
npx prisma generate
You can run the app with the following command:
npm run dev
You will now be able to retrieve the most recently added quote with and without caching enabled along with some stats.
You can see the performance and other stats (e.g. cache/hit) for the different Accelerate cache strategies at the bottom of the UI:
- Accelerate Speed Test
- Accelerate documentation
- Check out the Prisma docs
- Join our community on Discord to share feedback and interact with other users.
- Subscribe to our YouTube channel for live demos and video tutorials.
- Follow us on X for the latest updates.
- Report issues or ask questions on GitHub.
